1
- #! /bin/bash
1
+ #! /usr/ bin/env bash
2
2
3
3
set -e
4
4
5
5
help () {
6
- if [ $# -gt 0 ]; then
6
+ if [[ $# -gt 0 ] ]; then
7
7
printf ' Unexpected Argument (%s)\n' " $1 "
8
8
fi
9
9
printf ' HELP: Usage: %s [Debug|Release|Profiling]\n' " $0 "
@@ -13,21 +13,21 @@ help() {
13
13
# Note:
14
14
# CMAKE_BUILD_TYPE="Debug" adds "-O0 -g" flags by default
15
15
# CMAKE_BUILD_TYPE="Release" adds "-O3 -DNDEBUG" by default
16
- if [[ " $BUILD_DEBUG " == " 1" ]]; then
16
+ if [[ " ${ BUILD_DEBUG} " == " 1" ]]; then
17
17
CMAKE_BUILD_TYPE=" Debug"
18
- elif [[ " $BUILD_RELEASE " == " 1" ]]; then
18
+ elif [[ " ${ BUILD_RELEASE} " == " 1" ]]; then
19
19
CMAKE_BUILD_TYPE=" Release"
20
- elif [[ " $BUILD_PROFILING " == " 1" ]]; then
20
+ elif [[ " ${ BUILD_PROFILING} " == " 1" ]]; then
21
21
CMAKE_BUILD_TYPE=" Profiling"
22
22
fi
23
23
24
- if [ $# -gt 0 ]; then
24
+ if [[ $# -gt 0 ] ]; then
25
25
case " $1 " in
26
26
Release|--release|-r) CMAKE_BUILD_TYPE=" Release" ;;
27
27
Profiling|--profiling|-p) CMAKE_BUILD_TYPE=" Profiling" ;;
28
28
Debug|--debug|-d) CMAKE_BUILD_TYPE=" Debug" ;;
29
29
--help|-h) help ;;
30
- * ) help $1 ;;
30
+ * ) help " $1 " ;;
31
31
esac
32
32
fi
33
33
@@ -36,29 +36,33 @@ echo "Building..."
36
36
# see PREFIX in ./scripts/setup-dependencies.sh
37
37
PREFIX=" $( cd " $( dirname " $0 " ) " /.. && pwd) /prefix"
38
38
39
- if [ -z ${BUILD_DIR+x} ]; then
39
+ if [[ -z ${BUILD_DIR+x} ] ]; then
40
40
export BUILD_DIR=build
41
41
fi
42
42
43
- mkdir -p $ BUILD_DIR
44
- cd $ BUILD_DIR
43
+ mkdir -p " ${ BUILD_DIR} "
44
+ cd " ${ BUILD_DIR} "
45
45
46
46
CMAKE_FLAGS=-DCMAKE_PREFIX_PATH=" ${PREFIX} "
47
47
CPUS=1
48
- if [[ " $OSTYPE " == " linux-gnu" * ]]; then
48
+ if [[ " ${ OSTYPE} " == " linux-gnu" * ]]; then
49
49
CPUS=$( grep -c ^processor /proc/cpuinfo)
50
- elif [[ " $OSTYPE " == " darwin" * ]]; then
50
+ elif [[ " ${ OSTYPE} " == " darwin" * ]]; then
51
51
CPUS=$( sysctl -n hw.ncpu)
52
52
XCODE_CMDLINE_DIR=$( xcode-select -p)
53
- CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=${XCODE_CMDLINE_DIR} /usr/bin/clang -DCMAKE_CXX_COMPILER=${XCODE_CMDLINE_DIR} /usr/bin/clang++ -DCMAKE_CXX_FLAGS=-isystem\ /usr/local/include -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
53
+ CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=${XCODE_CMDLINE_DIR} /usr/bin/clang"
54
+ CMAKE_FLAGS+=" -DCMAKE_CXX_COMPILER=${XCODE_CMDLINE_DIR} /usr/bin/clang++"
55
+ CMAKE_FLAGS+=" -DCMAKE_CXX_FLAGS=-isystem\ /usr/local/include"
56
+ CMAKE_FLAGS+=" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
54
57
fi
55
58
56
- if [[ -z $ CMAKE_BUILD_TYPE ]]; then
59
+ if [[ -z " ${ CMAKE_BUILD_TYPE} " ]]; then
57
60
echo " CMAKE_BUILD_TYPE not set, defaulting to debug"
58
61
CMAKE_BUILD_TYPE=" Debug"
59
62
fi
60
63
61
- echo " Building $CMAKE_BUILD_TYPE "
64
+ echo " Building ${ CMAKE_BUILD_TYPE} "
62
65
eval " cmake -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${CMAKE_FLAGS} .."
63
- make -j$CPUS
66
+ make " -j${ CPUS} "
64
67
68
+ echo ; echo " Build complete" ; echo
0 commit comments