-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuildSuperMUC.sh
executable file
·61 lines (53 loc) · 1.78 KB
/
buildSuperMUC.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
set -e
PARPE_ROOT="`dirname \"$BASH_SOURCE\"`"
PARPE_ROOT="`( cd \"${PARPE_ROOT}\" && pwd )`"
MAKE_OPTS=-j12
# load modules
# build AMICI
AMICI_PATH=${PARPE_ROOT}/deps/AMICI
#cpputest
#CPPUTEST_PATH=${AMICI_PATH}/ThirdParty/cpputest-master
#cd ${CPPUTEST_PATH}
# -DC++11=ON breaks compilation of some `_override` for no obvious reason
#cmake -DC++11=OFF -DCMAKE_INSTALL_PREFIX=`pwd`
#make ${MAKE_OPTS}
#make install
deps/AMICI/scripts/buildSuiteSparse.sh
deps/AMICI/scripts/buildSundials.sh
export PYTHON_EXECUTABLE=$(which python3)
mkdir -p ${AMICI_PATH}/build
cd ${AMICI_PATH}/build
cmake -DCMAKE_BUILD_TYPE=Release \
-DBLAS=MKL \
-DBLAS_LIBRARIES="${MKL_LIB}" \
-DBLAS_INCLUDE_DIRS="${MKL_INCDIR}" \
-DBUILD_TESTING=OFF \
..
make ${MAKE_OPTS} amici
# build dependencies
cd ${PARPE_ROOT}/ThirdParty
#./installCeres.sh
#./installCpputest.sh
# requires download of additional packages ./installIpopt.sh
CERES_BASE=${PARPE_ROOT}/ThirdParty/ceres-solver-1.13.0/
CERES_INSTALL_DIR=${CERES_BASE}/build/install/
if [[ -d ${CERES_BASE} ]]; then
echo "Found CERES. Building..."
mkdir -p ${CERES_BASE}/build
cd ${CERES_BASE}/build
make ${MAKE_OPTS}
else
echo "CERES sources not found. Skipping..."
fi
echo
echo "Building parPE..."
cd $PARPE_ROOT
mkdir -p build && cd build
CC=mpicc CXX=mpiCC HDF5_ROOT=${HDF5_BASE} BOOST_ROOT=${BOOST_BASE} MPI_HOME=${MPI_BASE} cmake \
-DBoost_USE_STATIC_LIBS=TRUE \
-DIPOPT_DIR=`pwd`/../ThirdParty/Ipopt-3.12.9/install \
-DCERES_LIBRARIES="${CERES_INSTALL_DIR}/lib64/libceres.a;${MKL_LIB}" \
-DCERES_INCLUDE_DIRS="${CERES_INSTALL_DIR}/include/;${CERES_INSTALL_DIR}/include/ceres/internal/miniglog/;`pwd`/../ThirdParty/eigen-eigen-67e894c6cd8f/build/install/include/eigen3/" \
..
make ${MAKE_OPTS}