From 9e3b0e4a415eb5a08d99cac2bb0b080125a4f431 Mon Sep 17 00:00:00 2001 From: Evan Lojewski Date: Sat, 7 Mar 2020 10:28:03 -0700 Subject: build: Autodetect appropriate cmake binary and generator. (#56) --- build.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/build.sh b/build.sh index fa88563..a885c5e 100755 --- a/build.sh +++ b/build.sh @@ -3,7 +3,7 @@ ### ### @file build.sh ### -### @project +### @project bcm5719 ### ### @brief Top level build script. ### @@ -43,12 +43,51 @@ ### @endcond ################################################################################ -rm -rf build -mkdir build +GENERATOR= +BUILD_DIR=build -cd build +if [ ! -x "$CMAKE" ] +then + CMAKE=`which cmake3` + if [ ! -x "$CMAKE" ] + then + CMAKE=`which cmake` + if [ ! -x "$CMAKE" ] + then + echo "ERROR: Unable to locate cmake." + exit -1 + fi + fi +fi -cmake .. -G Ninja -cmake --build . -cmake --build . --target package -cmake --build . --target package_source +NINJA=`which ninja-build` +if [ -x "$NINJA" ] +then + GENERATOR=-GNinja +else + NINJA=`which ninja` + if [ -x "$NINJA" ] + then + GENERATOR=-GNinja + else + echo "WARNING: Unable to locate ninja." + fi +fi + +echo "Using cmake: $CMAKE $GENERATOR" + +set -e + +# Clean out the build folder. +"$CMAKE" -E remove_directory "$BUILD_DIR" +"$CMAKE" -E make_directory "$BUILD_DIR" + +cd "$BUILD_DIR" + +# Do the build +"$CMAKE" .. $GENERATOR +"$CMAKE" --build . + +# Generate release packages. +"$CMAKE" --build . --target package +"$CMAKE" --build . --target package_source -- cgit v1.2.1