5
export SRC_DIR="/tmp/SimpleITK"
6
export BLD_DIR="/tmp/SimpleITK-build"
7
export OUT_DIR="/work/io"
9
SIMPLEITK_GIT_TAG=${SIMPLEITK_GIT_TAG:-v1.0rc3}
11
PYTHON_VERSIONS=${PYTHON_VERSIONS:-$(ls /opt/python | sed -e 's/cp2[0-6][^ ]\+ \?//g')}
13
NPROC=$(grep -c processor /proc/cpuinfo)
14
export MAKEFLAGS="-j ${NPROC}"
17
function build_simpleitk {
19
echo "SIMPLEITK_GIT_TAG: ${SIMPLEITK_GIT_TAG}"
21
git clone https://github.com/SimpleITK/SimpleITK.git ${SRC_DIR} &&
22
(cd ${SRC_DIR} && git checkout ${SIMPLEITK_GIT_TAG} ) &&
24
mkdir -p ${BLD_DIR} && cd ${BLD_DIR} &&
26
-DSimpleITK_BUILD_DISTRIBUTE:BOOL=ON \
27
-DSimpleITK_BUILD_STRIP:BOOL=ON \
28
-DCMAKE_BUILD_TYPE:STRING=Release \
29
-DBUILD_TESTING:BOOL=ON \
30
-DBUILD_EXAMPLES:BOOL=OFF \
31
-DBUILD_SHARED_LIBS:BOOL=OFF \
32
-DWRAP_DEFAULT:BOOL=OFF \
33
-DITK_REPOSITORY:STRING="https://github.com/InsightSoftwareConsortium/ITK.git" \
34
${SRC_DIR}/SuperBuild &&
36
find ./ -name \*.o -delete
42
function build_simpleitk_python {
44
PYTHON_EXECUTABLE=/opt/python/${PYTHON}/bin/python
45
PYTHON_INCLUDE_DIR="$( find -L /opt/python/${PYTHON}/include/ -name Python.h -exec dirname {} \; )"
48
echo "PYTHON_EXECUTABLE:${PYTHON_EXECUTABLE}"
49
echo "PYTHON_INCLUDE_DIR:${PYTHON_INCLUDE_DIR}"
50
echo "PYTHON_LIBRARY:${PYTHON_LIBRARY}"
52
rm -rf ${BLD_DIR}-${PYTHON} &&
53
mkdir -p ${BLD_DIR}-${PYTHON} &&
54
cd ${BLD_DIR}-${PYTHON} &&
56
-D "CMAKE_CXX_FLAGS:STRING=-fvisibility=hidden -fvisibility-inlines-hidden ${CFLAGS}" \
57
-D "CMAKE_C_FLAGS:STRING=-fvisibility=hidden ${CXXFLAGS}" \
58
-DCMAKE_MODULE_PATH:PATH=${SRC_DIR} \
59
-DCMAKE_PREFIX_PATH:PATH=${BLD_DIR} \
60
-DCMAKE_BUILD_TYPE:STRING=Release \
61
-DSWIG_EXECUTABLE:FILEPATH=${BLD_DIR}/Swig/bin/swig \
62
-DSWIG_DIR:PATH=${BLD_DIR}/Swig/ \
63
-DSimpleITK_BUILD_DISTRIBUTE:BOOL=ON \
64
-DSimpleITK_BUILD_STRIP:BOOL=ON \
65
-DSimpleITK_PYTHON_WHEEL:BOOL=ON \
66
-DSimpleITK_PYTHON_EGG:BOOL=OFF \
67
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE} \
68
-DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} \
69
-DPYTHON_VIRTUALENV_SCRIPT:FILEPATH=${BLD_DIR}/virtualenv/virtualenv.py \
70
${SRC_DIR}/Wrapping/Python &&
76
build_simpleitk || exit 1
79
for PYTHON in ${PYTHON_VERSIONS}; do
80
build_simpleitk_python &&
82
auditwheel repair $(find ${BLD_DIR}-${PYTHON}/ -name SimpleITK*.whl) -w ${OUT_DIR}/wheelhouse/