Skip to content

Commit b2d10e7

Browse files
authored
Merge pull request #216 from jcfr/fix-libtbb-macOS-deployment-target
COMP: Ensure tbb library is built with the expected deployment target
2 parents 40c29f2 + b75323d commit b2d10e7

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,15 @@ if(ITKPythonPackage_SUPERBUILD)
105105
endif()
106106

107107
if(ITKPythonPackage_USE_TBB)
108+
109+
set(tbb_cmake_cache_args)
110+
if(CMAKE_OSX_DEPLOYMENT_TARGET)
111+
list(APPEND tbb_cmake_cache_args
112+
-DCMAKE_CXX_OSX_DEPLOYMENT_TARGET_FLAG:STRING="-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}"
113+
-DCMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG:STRING="-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}"
114+
)
115+
endif()
116+
108117
ExternalProject_add(oneTBB
109118
URL https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.3.0.tar.gz
110119
URL_HASH SHA256=8f616561603695bbb83871875d2c6051ea28f8187dbe59299961369904d1d49e
@@ -114,6 +123,7 @@ if(ITKPythonPackage_SUPERBUILD)
114123
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/../oneTBB-prefix
115124
-DCMAKE_INSTALL_LIBDIR:STRING=lib # Skip default initialization by GNUInstallDirs CMake module
116125
${ep_common_cmake_cache_args}
126+
${tbb_cmake_cache_args}
117127
-DCMAKE_BUILD_TYPE:STRING=Release
118128
BUILD_BYPRODUCTS "${TBB_DIR}/TBBConfig.cmake"
119129
USES_TERMINAL_DOWNLOAD 1

scripts/macpython-build-wheels.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,18 @@ DELOCATE_LISTDEPS=${VENV}/bin/delocate-listdeps
5050
DELOCATE_WHEEL=${VENV}/bin/delocate-wheel
5151
DELOCATE_PATCH=${VENV}/bin/delocate-patch
5252

53+
build_type="Release"
54+
5355
if [[ $(arch) == "arm64" ]]; then
56+
osx_target="11.0"
57+
osx_arch="arm64"
5458
use_tbb="OFF"
5559
else
60+
osx_target="10.9"
61+
osx_arch="x86_64"
5662
use_tbb="ON"
5763
fi
64+
5865
# Build standalone project and populate archive cache
5966
tbb_dir=$PWD/oneTBB-prefix/lib/cmake/TBB
6067
# So delocate can find the libs
@@ -64,7 +71,10 @@ pushd ITK-source > /dev/null 2>&1
6471
${CMAKE_EXECUTABLE} -DITKPythonPackage_BUILD_PYTHON:PATH=0 \
6572
-DITKPythonPackage_USE_TBB:BOOL=${use_tbb} \
6673
-G Ninja \
74+
-DCMAKE_BUILD_TYPE:STRING=${build_type} \
6775
-DCMAKE_MAKE_PROGRAM:FILEPATH=${NINJA_EXECUTABLE} \
76+
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \
77+
-DCMAKE_OSX_ARCHITECTURES:STRING=${osx_arch} \
6878
${SCRIPT_DIR}/../
6979
${NINJA_EXECUTABLE}
7080
popd > /dev/null 2>&1
@@ -83,16 +93,11 @@ for VENV in "${VENVS[@]}"; do
8393

8494
${Python3_EXECUTABLE} -m pip install --upgrade -r ${SCRIPT_DIR}/../requirements-dev.txt
8595

86-
build_type="Release"
8796
if [[ $(arch) == "arm64" ]]; then
8897
plat_name="macosx-11.0-arm64"
89-
osx_target="11.0"
90-
osx_arch="arm64"
9198
build_path="${SCRIPT_DIR}/../ITK-${py_mm}-macosx_arm64"
9299
else
93100
plat_name="macosx-10.9-x86_64"
94-
osx_target="10.9"
95-
osx_arch="x86_64"
96101
build_path="${SCRIPT_DIR}/../ITK-${py_mm}-macosx_x86_64"
97102
fi
98103
if [[ ! -z "${MACOSX_DEPLOYMENT_TARGET}" ]]; then

0 commit comments

Comments
 (0)