Newer
Older
#!/bin/bash
MAKE_THREADS="8"
GLOBAL_LIBS="libncurses-dev libboost-dev nlohmann-json3-dev swig libinsighttoolkit5-dev"
DIR_PARALLELPROJ="parallelproj"
DIR_STIR="STIR"
DIR_BUILD_STIR="STIR_build"
if [ -z ${VIRTUAL_ENV} ]; then
echo "ERROR:"
echo " Please make sure to activate your Python virtual environment is active."
echo " Otherwise, libraries are not installed to their appropriate location."
exit 1
fi
PYTHON_DEST="${VIRTUAL_ENV}/lib/python$(python --version | cut -d " " -f2 | cut -d "." -f1,2)/site-packages"
echo "WARNING:"
echo " Currently, this script is not able to install the libraries locally."
echo " Thus, you will be asked for sudo permission in the following."
echo
##################### GLOBAL DEPENDENCIES ###########################################
echo "Install transitive dependencies [${GLOBAL_LIBS}] globally ..."
sudo apt-get install -y ${GLOBAL_LIBS}
##################### PARALLELPROJ ###########################################
echo "Install ${DIR_PARALLELPROJ} ..."
mkdir -p ${DIR_PARALLELPROJ}/build && \
cd ${DIR_PARALLELPROJ}/build && \
cmake .. && \
nice make -j ${MAKE_THREADS} && \
sudo make install && \
cd ../../
##################### STIR ###########################################
echo "Install ${DIR_STIR} ..."
# Note: we install STIR not in a build directory under the STIR clone because it does not specify such
# a directory in its gitignore, which means that `git status` will always show changes
mkdir -p ${DIR_BUILD_STIR} && \
cd ${DIR_BUILD_STIR} && \
cmake ../${DIR_STIR} -DPYTHON_DEST=${PYTHON_DEST} -DBUILD_SWIG_PYTHON=ON -DSTIR_OPENMP=ON -DCMAKE_INSTALL_PREFIX=${VIRTUAL_ENV} && \
nice make -j ${MAKE_THREADS} && \
make install && \