From b9f8b05dc2f2b1f547a156aa7b2f8314e74727b4 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Tue, 21 Jan 2025 10:25:07 +0100 Subject: [PATCH 01/11] bump the version of rangev3 and add support for MacOS for Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 2 +- frameworks/CMakeLists.txt | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index b7a7588b94..a5672b52e8 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -722,7 +722,7 @@ LCG_external_package(qtpy 1.7.1 if(${LCG_OS} MATCHES centos|el AND NOT (${LCG_COMP} MATCHES clang AND ${LCG_COMPVERS} EQUAL 15) ) LCG_external_package(R 4.3.0 ) endif() -LCG_external_package(rangev3 0.11.0 ) +LCG_external_package(rangev3 0.12.0 ) LCG_external_package(railroad_diagrams 1.1.1 ) LCG_external_package(rapidjson 1.1.0 ) LCG_external_package(rapidyaml 0.7.0 ) diff --git a/frameworks/CMakeLists.txt b/frameworks/CMakeLists.txt index ff1eec3816..733a47f9bf 100644 --- a/frameworks/CMakeLists.txt +++ b/frameworks/CMakeLists.txt @@ -12,24 +12,18 @@ LCGPackage_Add( PYTHONPATH=${ROOT_home}/lib # Needed at runtime for tests CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - IF ${CMAKE_BUILD_TYPE} STREQUAL Debug AND ${LCG_TARGET} MATCHES "clang" THEN - -DGAUDI_SLOW_DEBUG=TRUE - ENDIF -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DCMAKE_FIND_FRAMEWORK=LAST -DBoost_NO_BOOST_CMAKE=FALSE -DHOST_BINARY_TAG=${LCG_platform} - IF ${LCG_OS} MATCHES ubuntu THEN - -DGAUDI_USE_GPERFTOOLS=FALSE + IF ${LCG_OS} MATCHES ubuntu|mac THEN + -DGAUDI_USE_GPERFTOOLS=FALSE ENDIF - INSTALL_COMMAND ${MAKE} install - IF NOT <VERSION> STREQUAL master AND <VERSION> VERSION_LESS v35r0 THEN - COMMAND ${EXEC} bash -c "cp -n -r <INSTALL_DIR>/*.cmake <INSTALL_DIR>/cmake" - ENDIF DEPENDS Boost Python GSL ROOT clhep AIDA XercesC rangev3 cppgsl xenv six fmt pytest PyYAML - jsonmcpp HepPDT CppUnit libunwind doxygen Catch2 networkx pytest_cov jemalloc - IF NOT ${LCG_OS} MATCHES ubuntu THEN gperftools ENDIF + jsonmcpp HepPDT CppUnit doxygen Catch2 networkx pytest_cov jemalloc + IF NOT ${LCG_OS} MATCHES ubuntu|mac THEN gperftools ENDIF + IF NOT ${LCG_OS} MATCHES mac THEN libunwind ELSE libosxunwind ENDIF ) # Add Gaudi tests only of Gaudi is actually build (disable ubuntu for the time being) -- GitLab From 6196dc25118d5601a5909e45556f15d013261857 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:36:54 +0100 Subject: [PATCH 02/11] Add Gaudi also for Mac to dev-base --- cmake/toolchain/heptools-dev-base.cmake | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index a5672b52e8..722d777461 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,10 +11,8 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(${LCG_OS}${LCG_OSVERS} MATCHES centos|ubuntu|el) - if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) - LCG_AA_project(Gaudi v39r1 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) - endif() +if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) + LCG_AA_project(Gaudi v39r1 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From 60284444788ca975e0b70f7dadbe3db678c95bf8 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 15:14:07 +0100 Subject: [PATCH 03/11] Bump the version of Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index 722d777461..1d0aa2737f 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -12,7 +12,7 @@ LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) - LCG_AA_project(Gaudi v39r1 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) + LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From d278f2fd7f56639142467e0db1e52b5a3606423a Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 15:41:06 +0100 Subject: [PATCH 04/11] Don't use unwind --- frameworks/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frameworks/CMakeLists.txt b/frameworks/CMakeLists.txt index 733a47f9bf..c9adea46f1 100644 --- a/frameworks/CMakeLists.txt +++ b/frameworks/CMakeLists.txt @@ -20,10 +20,15 @@ LCGPackage_Add( IF ${LCG_OS} MATCHES ubuntu|mac THEN -DGAUDI_USE_GPERFTOOLS=FALSE ENDIF + # Don't use unwind on mac, Gaudi won't compile the unwind code + # if it's not x86_64 + IF ${LCG_OS} MATCHES mac THEN + -DGAUDI_USE_UNWIND=FALSE + ENDIF DEPENDS Boost Python GSL ROOT clhep AIDA XercesC rangev3 cppgsl xenv six fmt pytest PyYAML jsonmcpp HepPDT CppUnit doxygen Catch2 networkx pytest_cov jemalloc IF NOT ${LCG_OS} MATCHES ubuntu|mac THEN gperftools ENDIF - IF NOT ${LCG_OS} MATCHES mac THEN libunwind ELSE libosxunwind ENDIF + IF NOT ${LCG_OS} MATCHES mac THEN libunwind ENDIF ) # Add Gaudi tests only of Gaudi is actually build (disable ubuntu for the time being) -- GitLab From b902bac623b14cc4b7ec500dd8948920a43ae261 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 16:24:57 +0100 Subject: [PATCH 05/11] Add only Gaudi for Mac > 13 --- cmake/toolchain/heptools-dev-base.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index 1d0aa2737f..440b1ca89c 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,8 +11,10 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) - LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) +if(NOT ${LCG_OS} MATCHES mac OR ${LCG_OSVERS} GREATER 13) + if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) + LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) + endif() endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From d26aba965cff7cd76c006866bd88c7be90c0ad28 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:40:58 +0100 Subject: [PATCH 06/11] Simplify rules for Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index 440b1ca89c..cbd3df28f6 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,10 +11,8 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(NOT ${LCG_OS} MATCHES mac OR ${LCG_OSVERS} GREATER 13) - if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (${LCG_COMP} MATCHES clang)) - LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) - endif() +if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR ((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 14)) + LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From c0568e8f7ac141fb722224ef12ed3186c13c4a1e Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Fri, 10 Jan 2025 21:08:34 +0100 Subject: [PATCH 07/11] Fix missing parenthesis --- cmake/toolchain/heptools-dev-base.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index cbd3df28f6..f1903c51c1 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,7 +11,7 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR ((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 14)) +if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 14))) LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From 5ecade1f9749e55d440f39e08e49c2a823c3542b Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:10:35 +0100 Subject: [PATCH 08/11] Require clang 15 for Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index f1903c51c1..99d262e0d1 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,7 +11,7 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 14))) +if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 15))) LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From cb9fb4f9d8e60d7b7556a28076cff9f4e4ad9923 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:15:23 +0100 Subject: [PATCH 09/11] Require clang 16 for Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index 99d262e0d1..fac5cf61c3 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,7 +11,7 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 15))) +if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 16))) LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From e6d3ecc9ae990a430a38e1d5873b6753de6bae7b Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:55:56 +0100 Subject: [PATCH 10/11] Fix command to find Gaudi --- cmake/toolchain/heptools-dev-base.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index fac5cf61c3..e4b22c96f7 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -11,7 +11,9 @@ LCG_AA_project(Geant4 11.3.0) LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) -if(((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR (((${LCG_COMP} MATCHES clang)) AND (${LCG_COMPVERS} GREATER_EQUAL 16))) +if( ((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR + ((NOT ${LCG_OS} MATCHES mac) AND (${LCG_COMP} MATCHES clang) AND (${LCG_COMPVERS} GREATER_EQUAL 16)) OR + ((${LCG_COMP} MATCHES clang) AND (${LCG_COMPVERS} GREATER_EQUAL 160)) ) LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab From 1d5d56e5bc31af117bf39dc490a0e12921846839 Mon Sep 17 00:00:00 2001 From: jmcarcell <jmcarcell@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:38:35 +0100 Subject: [PATCH 11/11] Fix test for mac --- cmake/toolchain/heptools-dev-base.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index e4b22c96f7..6d835c3910 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -13,7 +13,7 @@ LCG_AA_project(Geant4-vecgeom-scalar 11.3.0) LCG_AA_project(Garfield++ HEAD GIT=https://gitlab.cern.ch/garfield/garfieldpp.git) if( ((${LCG_COMP} MATCHES gcc) AND (${LCG_COMPVERS} GREATER_EQUAL 13)) OR ((NOT ${LCG_OS} MATCHES mac) AND (${LCG_COMP} MATCHES clang) AND (${LCG_COMPVERS} GREATER_EQUAL 16)) OR - ((${LCG_COMP} MATCHES clang) AND (${LCG_COMPVERS} GREATER_EQUAL 160)) ) + ((${LCG_OS} MATCHES mac) AND (${LCG_OSVERS} GREATER_EQUAL 15)) ) LCG_AA_project(Gaudi v39r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() LCG_AA_project(DD4hep 01.30 ) -- GitLab