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 62 63 64 65 66
|
#!/bin/bash -e
if (($# != 2)); then
echo "ERROR: Script ${BASH_SOURCE##*/} expects exactly two arguments"
echo "Usage: ${BASH_SOURCE##*/} <PROFILE> <VERSION>"
exit 1
fi
PROFILE=$1
VERSION=$2
DBCSR_ver="2.8.0"
DBCSR_sha256="d55e4f052f28d1ed0faeaa07557241439243287a184d1fd27f875c8b9ca6bd96"
[[ -z "${TOOLCHAIN_DIR}" ]] && TOOLCHAIN_DIR="/opt/cp2k-toolchain"
[[ -z "${INSTALL_PREFIX}" ]] && INSTALL_PREFIX="/opt/cp2k"
echo "==================== Installing DBCSR ===================="
wget -q "https://github.com/cp2k/dbcsr/releases/download/v${DBCSR_ver}/dbcsr-${DBCSR_ver}.tar.gz"
echo "${DBCSR_sha256} dbcsr-${DBCSR_ver}.tar.gz" | sha256sum --check > /dev/null
tar xzf dbcsr-${DBCSR_ver}.tar.gz
cd dbcsr-${DBCSR_ver}
mkdir build
cd build
if [[ "${PROFILE}" =~ ^toolchain ]]; then
if [[ -f "${TOOLCHAIN_DIR}/install/setup" ]]; then
# shellcheck disable=SC1091
source "${TOOLCHAIN_DIR}/install/setup"
else
echo "ERROR: Toolchain setup file not found"
exit 1
fi
fi
if [[ "${VERSION}" == "ssmp" ]]; then
USE_MPI="OFF"
elif [[ "${VERSION}" == "psmp" ]]; then
USE_MPI="ON"
else
echo "Unknown version: ${VERSION}."
exit 1
fi
if ! cmake -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" -DCMAKE_INSTALL_LIBDIR=lib -DUSE_MPI=${USE_MPI} -DUSE_OPENMP=ON .. &> cmake.log; then
cat cmake.log
exit 1
fi
if ! make -j &> make.log; then
cat make.log
exit 1
fi
if ! make install VERBOSE=1 &> install.log; then
cat install.log
exit 1
fi
cd ../..
rm -rf "dbcsr-${DBCSR_ver}" "dbcsr-${DBCSR_ver}.tar.gz"
#EOF
|