@@ -43,46 +43,68 @@ if [ -z ${PYTHON_VERSION+x} ]; then
4343 exit 127
4444fi
4545
46- PYTHON=" python${PYTHON_VERSION} "
46+ export PYTHON=" python${PYTHON_VERSION} "
4747
48- if [[ $( uname) == " Darwin" ]]; then
48+ function install_dependencies()
49+ {
50+ if [[ $( uname) == " Darwin" ]]; then
4951 brew install wget
50- else
52+ else
5153 # Install a system package required by our library
5254 sudo apt-get install -y wget libicu-dev python3-pip python3-setuptools
53- fi
54-
55- PATH=$PATH :$( $PYTHON -c " import site; print(site.USER_BASE)" ) /bin
56-
57- [ " ${GTSAM_WITH_TBB:- OFF} " = " ON" ] && install_tbb
58-
59-
60- BUILD_PYBIND=" ON"
55+ fi
6156
62- sudo $ PYTHON -m pip install -r $GITHUB_WORKSPACE /python/requirements.txt
57+ export PATH= $PATH : $( $ PYTHON -c " import site; print(site.USER_BASE) " ) /bin
6358
64- mkdir $GITHUB_WORKSPACE /build
65- cd $GITHUB_WORKSPACE /build
59+ [ " ${GTSAM_WITH_TBB:- OFF} " = " ON" ] && install_tbb
6660
67- cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
68- -DGTSAM_BUILD_TESTS=OFF \
69- -DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:- ON} \
70- -DGTSAM_USE_QUATERNIONS=OFF \
71- -DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:- OFF} \
72- -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
73- -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
74- -DGTSAM_BUILD_PYTHON=${BUILD_PYBIND} \
75- -DGTSAM_UNSTABLE_BUILD_PYTHON=${GTSAM_BUILD_UNSTABLE:- ON} \
76- -DGTSAM_PYTHON_VERSION=$PYTHON_VERSION \
77- -DPYTHON_EXECUTABLE:FILEPATH=$( which $PYTHON ) \
78- -DGTSAM_ALLOW_DEPRECATED_SINCE_V42=OFF \
79- -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE /gtsam_install
61+ $PYTHON -m pip install -r $GITHUB_WORKSPACE /python/requirements.txt
62+ }
8063
64+ function build()
65+ {
66+ mkdir $GITHUB_WORKSPACE /build
67+ cd $GITHUB_WORKSPACE /build
68+
69+ BUILD_PYBIND=" ON"
70+
71+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
72+ -DGTSAM_BUILD_TESTS=OFF \
73+ -DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:- ON} \
74+ -DGTSAM_USE_QUATERNIONS=OFF \
75+ -DGTSAM_WITH_TBB=${GTSAM_WITH_TBB:- OFF} \
76+ -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
77+ -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
78+ -DGTSAM_BUILD_PYTHON=${BUILD_PYBIND} \
79+ -DGTSAM_UNSTABLE_BUILD_PYTHON=${GTSAM_BUILD_UNSTABLE:- ON} \
80+ -DGTSAM_PYTHON_VERSION=$PYTHON_VERSION \
81+ -DPYTHON_EXECUTABLE:FILEPATH=$( which $PYTHON ) \
82+ -DGTSAM_ALLOW_DEPRECATED_SINCE_V42=OFF \
83+ -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE /gtsam_install
84+
85+
86+ # Set to 2 cores so that Actions does not error out during resource provisioning.
87+ make -j2 install
88+
89+ cd $GITHUB_WORKSPACE /build/python
90+ $PYTHON -m pip install --user .
91+ }
8192
82- # Set to 2 cores so that Actions does not error out during resource provisioning.
83- make -j2 install
93+ function test()
94+ {
95+ cd $GITHUB_WORKSPACE /python/gtsam/tests
96+ $PYTHON -m unittest discover -v
97+ }
8498
85- cd $GITHUB_WORKSPACE /build/python
86- $PYTHON -m pip install --user .
87- cd $GITHUB_WORKSPACE /python/gtsam/tests
88- $PYTHON -m unittest discover -v
99+ # select between build or test
100+ case $1 in
101+ -d)
102+ install_dependencies
103+ ;;
104+ -b)
105+ build
106+ ;;
107+ -t)
108+ test
109+ ;;
110+ esac
0 commit comments