forked from NOAA-GSL/ufs-srweather-app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevbuild.sh
executable file
·76 lines (64 loc) · 1.79 KB
/
devbuild.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
set -eu
#cd to location of script
MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
usage () {
echo "Usage: "
echo " $0 PLATFORM COMPILER"
echo ""
echo "PLATFORM: Name of machine you are building on"
echo "COMPILER: (optional) compiler to use; valid options are 'intel', 'gnu'"
echo ""
echo "NOTE: This script is for internal developer use only;"
echo "See User's Guide for detailed build instructions"
}
PLATFORM="${1:-NONE}"
COMPILER="${2:-intel}"
if [ $# -lt 1 ]; then
echo "ERROR: not enough arguments"
usage
exit 1
fi
if [ $# -gt 2 ]; then
echo "ERROR: too many arguments"
usage
exit 1
fi
if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
usage
exit 0
fi
ENV_FILE="docs/README_${PLATFORM}_${COMPILER}.txt"
if [ ! -f "$ENV_FILE" ]; then
echo "ERROR: environment file ($ENV_FILE) does not exist for this platform/compiler combination"
echo "PLATFORM=$PLATFORM"
echo "COMPILER=$COMPILER"
echo ""
echo "See User's Guide for detailed build instructions"
exit 64
fi
# If build directory already exists, offer a choice
BUILD_DIR=${MYDIR}/build
if [ -d "${BUILD_DIR}" ]; then
while true; do
echo "Build directory (${BUILD_DIR}) already exists! Please choose what to do:"
echo ""
echo "[R]emove the existing directory"
echo "[C]ontinue building in the existing directory"
echo "[Q]uit this build script"
read -p "Choose an option (R/C/Q):" choice
case $choice in
[Rr]* ) rm -rf ${BUILD_DIR}; break;;
[Cc]* ) break;;
[Qq]* ) exit;;
* ) echo "Invalid option selected.\n";;
esac
done
fi
# Source the README file for this platform/compiler combination, then build the code
. $ENV_FILE
mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR}
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j ${BUILD_JOBS:-4}
exit 0