[19543] | 1 | #!/bin/bash
|
---|
| 2 | set -eu
|
---|
| 3 |
|
---|
| 4 | #Some cleanup
|
---|
| 5 | rm -rf Dakota
|
---|
| 6 | rm -rf src
|
---|
| 7 | rm -rf build
|
---|
| 8 | rm -rf install
|
---|
| 9 | mkdir src build install
|
---|
| 10 |
|
---|
| 11 | #Download from ISSM server
|
---|
| 12 | $ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/dakota-6.1-public.src.tar.gz' 'dakota-6.1-public-src.tar.gz'
|
---|
| 13 |
|
---|
| 14 | #Untar
|
---|
| 15 | tar -zxvf dakota-6.1-public-src.tar.gz
|
---|
| 16 |
|
---|
| 17 | #Move Dakota to src directory
|
---|
| 18 | mv dakota-6.1.0.src/* src
|
---|
| 19 | rm -rf dakota-6.1.0.src
|
---|
| 20 |
|
---|
| 21 | #Set up Dakota cmake variables and config
|
---|
| 22 | export DAK_SRC=$ISSM_DIR/externalpackages/dakota/src
|
---|
| 23 | export DAK_BUILD=$ISSM_DIR/externalpackages/dakota/build
|
---|
[19550] | 24 | export MPIHOME=$ISSM_DIR/externalpackages/mpich/install
|
---|
[19543] | 25 | cp $DAK_SRC/cmake/BuildDakotaTemplate.cmake $DAK_SRC/cmake/BuildDakotaCustom.cmake
|
---|
[19551] | 26 | patch $DAK_SRC/cmake/BuildDakotaCustom.cmake configs/6.1-mpi/BuildDakotaCustom.cmake.yosemite.patch
|
---|
[19543] | 27 | patch $DAK_SRC/cmake/DakotaDev.cmake configs/6.1-mpi/DakotaDev.cmake.patch
|
---|
| 28 | patch $DAK_SRC/CMakeLists.txt configs/6.1-mpi/CMakeLists.txt.patch
|
---|
| 29 |
|
---|
| 30 | #Apply patches
|
---|
[19550] | 31 | patch src/src/ParallelLibrary.cpp configs/6.1/ParallelLibrary.cpp.patch
|
---|
| 32 | patch src/src/ParallelLibrary.hpp configs/6.1/ParallelLibrary.hpp.patch
|
---|
| 33 | patch src/src/NonDSampling.cpp configs/6.1/NonDSampling.cpp.patch
|
---|
| 34 | patch src/src/NonDLocalReliability.cpp configs/6.1/NonDLocalReliability.cpp.patch
|
---|
[19551] | 35 | patch src/packages/pecos/src/pecos_global_defs.hpp configs/6.1/pecos_global_defs.hpp.patch
|
---|
[19543] | 36 |
|
---|
| 37 | #Configure dakota
|
---|
| 38 | cd $DAK_BUILD
|
---|
| 39 |
|
---|
| 40 | cmake -D CMAKE_C_COMPILER=$ISSM_DIR/externalpackages/mpich/install/bin/mpicc \
|
---|
[19550] | 41 | -D CMAKE_CXX_COMPILER=$ISSM_DIR/externalpackages/mpich/install/bin/mpicxx \
|
---|
| 42 | -D CMAKE_Fortran_COMPILER=$ISSM_DIR/externalpackages/mpich/install/bin/mpif77 \
|
---|
| 43 | -D LDFLAGS="-std=gnu++0x" \
|
---|
| 44 | -C $DAK_SRC/cmake/BuildDakotaCustom.cmake \
|
---|
| 45 | -C $DAK_SRC/cmake/DakotaDev.cmake \
|
---|
| 46 | $DAK_SRC
|
---|
[19543] | 47 | cd ..
|
---|
| 48 |
|
---|
| 49 | #Compile and install dakota
|
---|
| 50 | cd $DAK_BUILD
|
---|
| 51 | if [ $# -eq 0 ];
|
---|
| 52 | then
|
---|
| 53 | make
|
---|
| 54 | make install
|
---|
| 55 | else
|
---|
| 56 | make -j $1
|
---|
| 57 | make -j $1 install
|
---|
| 58 | fi
|
---|
| 59 | cd ..
|
---|