Skip to content

Commit

Permalink
Improve SYSROOT handling, ensure minimal deployment target on macos
Browse files Browse the repository at this point in the history
  • Loading branch information
paulgessinger committed Mar 12, 2024
1 parent 634e0f8 commit 8f1bd2d
Showing 1 changed file with 27 additions and 6 deletions.
33 changes: 27 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,31 @@ find_package(Curses REQUIRED)
set(openssl_option "")
if(APPLE)
execute_process(COMMAND brew --prefix openssl
OUTPUT_VARIABLE _openssl_dir)
set(openssl_option "--with-openssl=${_openssl_dir}")
OUTPUT_VARIABLE OPENSSL_DIR)
set(openssl_option "--with-openssl=${OPENSSL_DIR}")
endif()

set(python_sdkroot "")
if(APPLE)
set(python_sdkroot "SDKROOT=${CMAKE_OSX_SYSROOT}")
endif()

# Determine current platform as minimum from SYSROOT
if(APPLE)
execute_process(COMMAND jq -r .MinimalDisplayName ${CMAKE_OSX_SYSROOT}/SDKSettings.json
COMMAND_ERROR_IS_FATAL ANY
OUTPUT_VARIABLE CMAKE_OSX_DEPLOYMENT_TARGET
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Minimal macOS Deployment Target determined to: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif()


ExternalProject_Add(python
PREFIX python
URL https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
URL_HASH SHA1=459959e7dbeb89931db03457ea1f012353e34bce
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND CFLAGS=-fPIC ./configure --prefix=${CMAKE_INSTALL_PREFIX}/python/${PYTHON_VERSION} --enable-optimizations ${openssl_option}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env "CFLAGS=-fPIC" ${python_sdkroot} ./configure --prefix=${CMAKE_INSTALL_PREFIX}/python/${PYTHON_VERSION} --enable-optimizations ${openssl_option}
BUILD_COMMAND make -j${CMAKE_BUILD_PARALLEL_LEVEL}
)

Expand Down Expand Up @@ -79,6 +94,7 @@ ExternalProject_Add(boost
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
)

ExternalProject_Add(eigen
Expand All @@ -92,6 +108,7 @@ ExternalProject_Add(eigen
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
)

ExternalProject_Add(tbb
Expand All @@ -105,6 +122,7 @@ ExternalProject_Add(tbb
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DTBB_TEST=OFF
BUILD_COMMAND ${CMAKE_COMMAND} -E env CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL} ${CMAKE_COMMAND} --build <BINARY_DIR>
)
Expand All @@ -120,6 +138,7 @@ ExternalProject_Add(geant4
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DGEANT4_BUILD_TLS_MODEL=global-dynamic
-DGEANT4_INSTALL_DATA=OFF
-DGEANT4_USE_GDML=ON
Expand All @@ -138,6 +157,7 @@ ExternalProject_Add(hepmc3
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DHEPMC3_CXX_STANDARD=${CMAKE_CXX_STANDARD}
-DHEPMC3_BUILD_STATIC_LIBS=OFF
-DHEPMC3_ENABLE_PYTHON=OFF
Expand Down Expand Up @@ -275,10 +295,9 @@ ExternalProject_Add(edm4hep
BUILD_COMMAND ${CMAKE_COMMAND} -E env CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL} ${CMAKE_COMMAND} --build <BINARY_DIR>
)


ExternalProject_Add(dd4hep
PREFIX dd4hep
DEPENDS edm4hep geant4 PythonExeExists
DEPENDS edm4hep geant4 PythonExeExists boost
URL https://github.com/AIDASoft/DD4hep/archive/v${DD4HEP_VERSION}.tar.gz
URL_HASH SHA1=3e8a1d07a72689a24db04466b263094bbe16240f
LIST_SEPARATOR |
Expand All @@ -289,7 +308,9 @@ ExternalProject_Add(dd4hep
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/dd4hep/${DD4HEP_VERSION}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX}/root/${ROOT_VERSION}|${CMAKE_INSTALL_PREFIX}/podio/${PODIO_VERSION}|${CMAKE_INSTALL_PREFIX}/edm4hep/${EDM4HEP_VERSION}|${CMAKE_INSTALL_PREFIX}/geant4/${GEANT4_VERSION}|${CMAKE_INSTALL_PREFIX}/nlohmann_json/${JSON_VERSION}
-DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX}/root/${ROOT_VERSION}|${CMAKE_INSTALL_PREFIX}/podio/${PODIO_VERSION}|${CMAKE_INSTALL_PREFIX}/edm4hep/${EDM4HEP_VERSION}|${CMAKE_INSTALL_PREFIX}/geant4/${GEANT4_VERSION}|${CMAKE_INSTALL_PREFIX}/nlohmann_json/${JSON_VERSION}|${CMAKE_INSTALL_PREFIX}/boost/${BOOST_VERSION}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.2
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DPython_EXECUTABLE=${Python_EXECUTABLE}
Expand Down

0 comments on commit 8f1bd2d

Please sign in to comment.