From 0ac3eb492a7e446f40aebd0ca70177174ec80a68 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 8 Apr 2025 13:44:38 +0200 Subject: [PATCH] Make GEANT4 compile with our own expat / zlib --- expat.sh | 31 +++++++++++++++++++++++++++++++ geant4.sh | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 expat.sh diff --git a/expat.sh b/expat.sh new file mode 100644 index 0000000000..f20c5570ce --- /dev/null +++ b/expat.sh @@ -0,0 +1,31 @@ +package: expat +version: v2.7.1 +tag: R_2_7_1 +source: https://github.com/libexpat/libexpat +build_requires: + - CMake + - alibuild-recipe-tools + - ninja +prefer_system: ".*" +prefer_system_check: | + pkg-config expat 2>&1 && printf "#include " | cc -xc -I$(brew --prefix expat)/include -c - +prepend_path: + ROOT_INCLUDE_PATH: "$EXPAT_ROOT/include" + CMAKE_PREFIX_PATH: "$EXPAT_ROOT" +--- + +cmake $SOURCEDIR/expat \ + -G Ninja \ + -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ + -DCMAKE_CXX_STANDARD=${CXXSTD} \ + -DCMAKE_INSTALL_LIBDIR=lib + +cmake --build . -- ${JOBS:+-j $JOBS} install + +# Modulefile +MODULEDIR="$INSTALLROOT/etc/modulefiles" +MODULEFILE="$MODULEDIR/$PKGNAME" +mkdir -p "$MODULEDIR" +alibuild-generate-module --lib > $MODULEFILE diff --git a/geant4.sh b/geant4.sh index 867a14e08b..f79de6599c 100644 --- a/geant4.sh +++ b/geant4.sh @@ -6,6 +6,7 @@ source: https://gitlab.cern.ch/geant4/geant4.git requires: - "GCC-Toolchain:(?!osx)" - xercesc + - expat - zlib build_requires: - CMake @@ -43,11 +44,11 @@ cmake $SOURCEDIR \ -DGEANT4_USE_G3TOG4=ON \ -DGEANT4_INSTALL_DATA=ON \ ${GEANT4_DATADIR:+-DGEANT4_INSTALL_DATADIR="$GEANT4_DATADIR"} \ - -DGEANT4_USE_SYSTEM_EXPAT=OFF \ ${XERCESC_ROOT:+-DXERCESC_ROOT_DIR=$XERCESC_ROOT} \ ${CXXSTD:+-DGEANT4_BUILD_CXXSTD=$CXXSTD} \ -DG4_USE_GDML=ON \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DGEANT4_USE_SYSTEM_EXPAT=ON \ -DGEANT4_USE_SYSTEM_ZLIB=ON