From dadcea9d435df15c05935053261c6219dcad04a3 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Thu, 18 Jun 2026 13:28:22 -0500 Subject: [PATCH 1/4] Add CMakePresets.json needed by spack mpd --- CMakePresets.json | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 CMakePresets.json diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 000000000..d5b2d8155 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,132 @@ +{ + "configurePresets" : [ + { + "cacheVariables" : { + "CMAKE_BUILD_TYPE" : { + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + "CMAKE_CXX_EXTENSIONS" : { + "type" : "BOOL", + "value" : "OFF" + }, + "CMAKE_CXX_STANDARD_REQUIRED" : { + "type" : "BOOL", + "value" : "ON" + }, + "icaruscode_ADD_NOARCH_DIRS_INIT" : { + "type" : "INTERNAL", + "value" : "GDML_DIR;FHICL_DIR;WP_DIR;FW_DIR" + }, + "icaruscode_FHICL_DIR_INIT" : { + "type" : "STRING", + "value" : "job" + }, + "icaruscode_FW_DIR_INIT" : { + "type" : "STRING", + "value" : "scripts" + }, + "icaruscode_GDML_DIR_INIT" : { + "type" : "STRING", + "value" : "gdml" + }, + "icaruscode_WP_DIR_INIT" : { + "type" : "STRING", + "value" : "wire-cell-cfg" + } + }, + "description" : "Configuration settings translated from ups/product_deps", + "displayName" : "Configuration from product_deps", + "hidden" : true, + "name" : "from_product_deps" + }, + { + "cacheVariables" : { + "CMAKE_CXX_COMPILER" : { + "type" : "STRING", + "value" : "$env{CETPKG_CXX_COMPILER}" + }, + "CMAKE_CXX_STANDARD" : { + "type" : "STRING", + "value" : "$env{CETPKG_CXX_STANDARD}" + }, + "CMAKE_C_COMPILER" : { + "type" : "STRING", + "value" : "$env{CETPKG_C_COMPILER}" + }, + "CMAKE_Fortran_COMPILER" : { + "type" : "STRING", + "value" : "$env{CETPKG_Fortran_COMPILER}" + }, + "UPS_CXX_COMPILER_ID" : { + "type" : "STRING", + "value" : "$env{CETPKG_CXX_COMPILER_ID}" + }, + "UPS_CXX_COMPILER_VERSION" : { + "type" : "STRING", + "value" : "$env{CETPKG_CXX_COMPILER_VERSION}" + }, + "UPS_C_COMPILER_ID" : { + "type" : "STRING", + "value" : "$env{CETPKG_C_COMPILER_ID}" + }, + "UPS_C_COMPILER_VERSION" : { + "type" : "STRING", + "value" : "$env{CETPKG_C_COMPILER_VERSION}" + }, + "UPS_Fortran_COMPILER_ID" : { + "type" : "STRING", + "value" : "$env{CETPKG_Fortran_COMPILER_ID}" + }, + "UPS_Fortran_COMPILER_VERSION" : { + "type" : "STRING", + "value" : "$env{CETPKG_Fortran_COMPILER_VERSION}" + }, + "WANT_UPS" : { + "type" : "BOOL", + "value" : true + }, + "icaruscode_EXEC_PREFIX_INIT" : { + "type" : "STRING", + "value" : "$env{CETPKG_FQ_DIR}" + }, + "icaruscode_UPS_BUILD_ONLY_DEPENDENCIES_INIT" : { + "type" : "STRING", + "value" : "cetmodules" + }, + "icaruscode_UPS_PRODUCT_FLAVOR_INIT" : { + "type" : "STRING", + "value" : "$env{CETPKG_FLAVOR}" + }, + "icaruscode_UPS_PRODUCT_NAME_INIT" : { + "type" : "STRING", + "value" : "icaruscode" + }, + "icaruscode_UPS_QUALIFIER_STRING_INIT" : { + "type" : "STRING", + "value" : "$env{CETPKG_QUALSPEC}" + } + }, + "description" : "Extra configuration for UPS package generation", + "displayName" : "UPS extra configuration", + "hidden" : true, + "name" : "extra_for_UPS" + }, + { + "description" : "Default configuration including settings from ups/product_deps", + "displayName" : "Default configuration", + "inherits" : "from_product_deps", + "name" : "default" + }, + { + "description" : "Default configuration for UPS package generation", + "displayName" : "Default configuration for UPS", + "inherits" : [ + "default", + "extra_for_UPS" + ], + "name" : "for_UPS" + } + ], + "version" : 3 +} From c41cac52b61cbf7af3e0d596959be949c6b4c112 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Tue, 14 Jul 2026 19:58:46 -0500 Subject: [PATCH 2/4] Use CMake targets for WireCell libraries. Don't find_package(larsoft). --- CMakeLists.txt | 3 +-- icaruscode/Overlays/CMakeLists.txt | 12 +++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 329d7b072..717cab69a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ find_package(cetmodules 3.24.01 REQUIRED) #project(icaruscode VERSION 10.20.09 LANGUAGES CXX) set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.20.09p01) -project(icaruscode LANGUAGES CXX) +project(icaruscode VERSION 10.20.09.01 LANGUAGES CXX) message(STATUS "\n-- =============================================================================" @@ -46,7 +46,6 @@ cet_set_compiler_flags(DIAGS CAUTIOUS cet_report_compiler_flags(REPORT_THRESHOLD VERBOSE) #these are minimum required versions,not thea ctual product versions -find_package(larsoft REQUIRED ) find_package(libwda REQUIRED ) find_package(PostgreSQL REQUIRED ) find_package(Eigen3 REQUIRED ) diff --git a/icaruscode/Overlays/CMakeLists.txt b/icaruscode/Overlays/CMakeLists.txt index f42d8d6b7..a042567be 100644 --- a/icaruscode/Overlays/CMakeLists.txt +++ b/icaruscode/Overlays/CMakeLists.txt @@ -44,13 +44,11 @@ art_make_library( lardata::ArtDataHelper ${FHICLCPP} cetlib_except::cetlib_except - WireCellGen - WireCellUtil - WireCellAux - WireCellIface - WireCellPgraph - WireCellRoot - jsoncpp + WireCell::Gen + WireCell::Util + WireCell::Aux + WireCell::Iface + WireCell::Pgraph dl ) From 229961f2013d97f3a500e97b780a1b05166d68aa Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Wed, 15 Jul 2026 17:47:02 -0500 Subject: [PATCH 3/4] Add back WireCell::Root --- icaruscode/Overlays/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/icaruscode/Overlays/CMakeLists.txt b/icaruscode/Overlays/CMakeLists.txt index a042567be..b85944ec1 100644 --- a/icaruscode/Overlays/CMakeLists.txt +++ b/icaruscode/Overlays/CMakeLists.txt @@ -49,6 +49,7 @@ art_make_library( WireCell::Aux WireCell::Iface WireCell::Pgraph + WireCell::Root dl ) From 551b909af0306484a24ee817e82aa228d40816d2 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Thu, 16 Jul 2026 13:28:23 -0500 Subject: [PATCH 4/4] Set environment variables for tests --- test/Geometry/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/Geometry/CMakeLists.txt b/test/Geometry/CMakeLists.txt index 0e4f8d2b2..2cf0fddd6 100644 --- a/test/Geometry/CMakeLists.txt +++ b/test/Geometry/CMakeLists.txt @@ -1,6 +1,12 @@ # geometry test on ICARUS geometries +cet_transitive_paths(FHICL_DIR BINARY IN_TREE) +cet_test_env_prepend(FHICL_FILE_PATH "." ${TRANSITIVE_PATHS_WITH_FHICL_DIR} ${CMAKE_CURRENT_LIST_DIR} ${icarusalg_BINARY_DIR}/job) +cet_transitive_paths(LIBRARY_DIR BINARY IN_TREE) +cet_test_env_prepend(CET_PLUGIN_PATH ${TRANSITIVE_PATHS_WITH_LIBRARY_DIR}) +cet_transitive_paths(GDML_DIR BINARY IN_TREE) +cet_test_env_prepend(FW_SEARCH_PATH ${TRANSITIVE_PATHS_WITH_GDML_DIR}) # these tests run a FCL file and fail only if lar exits with a bad exit code; # they are fast and always run. cet_test(geometry_icarus HANDBUILT