Skip to content

Commit ae976a5

Browse files
committed
COMP: macpython arm64 script updates
1 parent eeb44be commit ae976a5

File tree

3 files changed

+28
-20
lines changed

3 files changed

+28
-20
lines changed

scripts/macpython-build-common.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,12 @@ for PYBIN in "${PYBINARIES[@]}"; do
2929
VENV=${SCRIPT_DIR}/../venvs/${py_mm}
3030
VENVS+=(${VENV})
3131
done
32+
33+
# -----------------------------------------------------------------------
34+
# Ensure that requirements are met
35+
brew update
36+
brew info doxygen | grep --quiet 'Not installed' && brew install doxygen
37+
brew info ninja | grep --quiet 'Not installed' && brew install ninja
38+
NINJA_EXECUTABLE=$(which ninja)
39+
brew info cmake | grep --quiet 'Not installed' && brew install cmake
40+
CMAKE_EXECUTABLE=$(which cmake)

scripts/macpython-build-module-wheels.sh

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@ source "${script_dir}/macpython-build-common.sh"
2121
# -----------------------------------------------------------------------
2222

2323
VENV="${VENVS[0]}"
24-
Python3_EXECUTABLE=${VENV}/bin/python
25-
${Python3_EXECUTABLE} -m pip install --no-cache cmake
26-
# CMAKE_EXECUTABLE=${VENV}/bin/cmake
27-
${Python3_EXECUTABLE} -m pip install --no-cache ninja
28-
NINJA_EXECUTABLE=${VENV}/bin/ninja
24+
Python3_EXECUTABLE=${VENV}/bin/python3
2925
${Python3_EXECUTABLE} -m pip install --no-cache delocate
3026
DELOCATE_LISTDEPS=${VENV}/bin/delocate-listdeps
3127
DELOCATE_WHEEL=${VENV}/bin/delocate-wheel
@@ -40,18 +36,28 @@ for VENV in "${VENVS[@]}"; do
4036
echo "Python3_EXECUTABLE:${Python3_EXECUTABLE}"
4137
echo "Python3_INCLUDE_DIR:${Python3_INCLUDE_DIR}"
4238

39+
if [[ $(arch) == "arm64" ]]; then
40+
plat_name="macosx-11.0-arm64"
41+
osx_target="10.9"
42+
build_path="${SCRIPT_DIR}/../ITK-${py_mm}-macosx_x86_64"
43+
else
44+
plat_name="macosx-10.9-x86_64"
45+
osx_target="11.0"
46+
build_path="${SCRIPT_DIR}/../ITK-${py_mm}-macosx_arm64"
47+
fi
48+
4349
if [[ -e $PWD/requirements-dev.txt ]]; then
4450
${Python3_EXECUTABLE} -m pip install --upgrade -r $PWD/requirements-dev.txt
4551
fi
46-
itk_build_path="${SCRIPT_DIR}/../ITK-${py_mm}-macosx_x86_64"
47-
${Python3_EXECUTABLE} setup.py bdist_wheel --build-type Release --plat-name macosx-10.9-x86_64 -G Ninja -- \
52+
itk_build_path="${build_path}"
53+
${Python3_EXECUTABLE} setup.py bdist_wheel --build-type Release --plat-name ${plat_name} -G Ninja -- \
4854
-DCMAKE_MAKE_PROGRAM:FILEPATH=${NINJA_EXECUTABLE} \
4955
-DITK_DIR:PATH=${itk_build_path} \
5056
-DITK_USE_SYSTEM_SWIG:BOOL=ON \
5157
-DWRAP_ITK_INSTALL_COMPONENT_IDENTIFIER:STRING=PythonWheel \
5258
-DSWIG_EXECUTABLE:FILEPATH=${itk_build_path}/Wrapping/Generators/SwigInterface/swig/bin/swig \
53-
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 \
54-
-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \
59+
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \
60+
-DCMAKE_OSX_ARCHITECTURES:STRING=$(arch) \
5561
-DBUILD_TESTING:BOOL=OFF \
5662
-DPython3_EXECUTABLE:FILEPATH=${Python3_EXECUTABLE} \
5763
-DPython3_INCLUDE_DIR:PATH=${Python3_INCLUDE_DIR} \

scripts/macpython-build-wheels.sh

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,7 @@ SCRIPT_DIR=""
1616

1717
script_dir=$(cd $(dirname $0) || exit 1; pwd)
1818
source "${script_dir}/macpython-build-common.sh"
19-
# -----------------------------------------------------------------------
20-
# Ensure that requirements are met
21-
brew update
22-
brew info doxygen | grep --quiet 'Not installed' && brew install doxygen
23-
brew info ninja | grep --quiet 'Not installed' && brew install ninja
24-
NINJA_EXECUTABLE=$(which ninja)
25-
brew info cmake | grep --quiet 'Not installed' && brew install cmake
26-
CMAKE_EXECUTABLE=$(which cmake)
19+
2720
# -----------------------------------------------------------------------
2821
# Remove previous virtualenv's
2922
rm -rf ${SCRIPT_DIR}/../venvs
@@ -101,7 +94,7 @@ for VENV in "${VENVS[@]}"; do
10194
-DITK_SOURCE_DIR:PATH= ${source_path} \
10295
-DITK_BINARY_DIR:PATH=${build_path} \
10396
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \
104-
-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \
97+
-DCMAKE_OSX_ARCHITECTURES:STRING=$(arch) \
10598
-DITK_WRAP_unsigned_short:BOOL=ON \
10699
-DITK_WRAP_double:BOOL=ON \
107100
-DITK_WRAP_complex_double:BOOL=ON \
@@ -128,7 +121,7 @@ for VENV in "${VENVS[@]}"; do
128121
-DITK_BINARY_DIR:PATH=${build_path} \
129122
-DBUILD_TESTING:BOOL=OFF \
130123
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \
131-
-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \
124+
-DCMAKE_OSX_ARCHITECTURES:STRING=$(arch) \
132125
-DITK_WRAP_unsigned_short:BOOL=ON \
133126
-DITK_WRAP_double:BOOL=ON \
134127
-DITK_WRAP_complex_double:BOOL=ON \
@@ -156,7 +149,7 @@ for VENV in "${VENVS[@]}"; do
156149
-DITK_SOURCE_DIR:PATH=${source_path} \
157150
-DITK_BINARY_DIR:PATH=${build_path} \
158151
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \
159-
-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \
152+
-DCMAKE_OSX_ARCHITECTURES:STRING=$(arch) \
160153
-DITKPythonPackage_ITK_BINARY_REUSE:BOOL=ON \
161154
-DITKPythonPackage_WHEEL_NAME:STRING=${wheel_name} \
162155
-DITK_WRAP_unsigned_short:BOOL=ON \

0 commit comments

Comments
 (0)