Tidy up and fix lint errors in build scripts

I've tidied up the code in both of the build scripts used for *nix-like
systems, and the macOS/OSX specific build script helper.

This has been tested on Linux with no issues, but this PR will hopefully
indicate if the changes run without issues on macOS as well.

Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This commit is contained in:
Dom Rodriguez 2019-08-20 18:08:03 +01:00
parent cf3b86341a
commit c685f0f231
No known key found for this signature in database
GPG Key ID: 72DCF1231E54BD43
2 changed files with 38 additions and 14 deletions

View File

@ -1,28 +1,52 @@
#!/bin/sh #!/bin/bash
cd "$(dirname $0)" || exit 1
set -eu # we set this to catch errors and terminate
cd "$(dirname "$0")" || exit 1
# some environments have cmake v2 as 'cmake' and v3 as 'cmake3' # some environments have cmake v2 as 'cmake' and v3 as 'cmake3'
# check for cmake3 first then fallback to just cmake # check for cmake3 first then fallback to just cmake
B_CMAKE=`type cmake3 2>/dev/null`
if [ $? -eq 0 ]; then if type cmake3 2>/dev/null; then
B_CMAKE=`echo $B_CMAKE | cut -d' ' -f3` B_CMAKE=$(command -v "$(echo "$B_CMAKE" | cut -d' ' -f3)")
else else
B_CMAKE=cmake B_CMAKE=$(command -v cmake)
fi fi
# default build configuration # default build configuration
B_BUILD_TYPE=${B_BUILD_TYPE:-Debug} B_BUILD_TYPE=${B_BUILD_TYPE:-Debug}
if [ "$(uname)" = "Darwin" ]; then
if [ "$(uname -s)" = "Darwin" ]; then
# OSX needs a lot of extra help, poor thing # OSX needs a lot of extra help, poor thing
# run the osx_environment.sh script to fix paths # run the osx_environment.sh script to fix paths
if [ -f "./osx_environment.sh" ]; then
. ./osx_environment.sh . ./osx_environment.sh
fi
B_CMAKE_FLAGS="-DCMAKE_OSX_SYSROOT=$(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 $B_CMAKE_FLAGS" B_CMAKE_FLAGS="-DCMAKE_OSX_SYSROOT=$(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 $B_CMAKE_FLAGS"
fi fi
# allow local customizations to build environment # allow local customizations to build environment
[ -r ./build_env.sh ] && . ./build_env.sh if [ -f "./build_env.sh" ]; then
B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE $B_CMAKE_FLAGS" . ./build_env.sh
fi
set +eu # disable this temporarily
if [ -n "${B_CMAKE_FLAGS}" ]; then
B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE ${B_CMAKE_FLAGS}"
else
B_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=$B_BUILD_TYPE"
fi
set -eu # enable this
rm -rf build rm -rf build
mkdir build || exit 1 mkdir build || exit 1
cd build || exit 1 cd build || exit 1
echo Starting Barrier $B_BUILD_TYPE build...
$B_CMAKE $B_CMAKE_FLAGS .. || exit 1 echo "Starting Barrier build..."
echo "Build type: ${B_BUILD_TYPE}"
"$B_CMAKE" "$B_CMAKE_FLAGS" .. || exit 1
make || exit 1 make || exit 1
echo "Build completed successfully"
echo "Build completed successfully."

View File

@ -11,7 +11,7 @@ function check_dir_exists() {
fi fi
} }
if [ ! $BARRIER_BUILD_ENV ]; then if [ ! "$BARRIER_BUILD_ENV" ]; then
check_dir_exists '/Applications/Xcode.app' 'Xcode' check_dir_exists '/Applications/Xcode.app' 'Xcode'
printf "Modifying environment for Barrier build...\n" printf "Modifying environment for Barrier build...\n"