From 4f4992a630b10b24541dc4c1ab021ca55bfc4d7d Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Sun, 6 Nov 2022 09:26:56 +0100 Subject: ci: Refactor ci/build script --- ci/build | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'ci') diff --git a/ci/build b/ci/build index 648bf4c2..9001bfbd 100755 --- a/ci/build +++ b/ci/build @@ -4,32 +4,40 @@ set -eu -if [ -n "${VERBOSE:-}" ]; then +# Set default values. +: ${BUILDDIR:=build} +: ${CCACHE_LOC:=..} +: ${CMAKE_PARAMS:=} +: ${CMAKE_PREFIX:=} +: ${EXTRA_CMAKE_BUILD_FLAGS:=} +: ${JOBS:=$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 2)} +: ${SPECIAL:=} +: ${TEST_CC:=${CC:-}} +: ${VERBOSE:=} + +if [ -n "${VERBOSE}" ]; then set -x fi -if [ -n "${SPECIAL:-}" ]; then +if [ -n "${SPECIAL}" ]; then exec "ci/$SPECIAL" else - [ -z ${JOBS:+x} ] && JOBS=$(getconf _NPROCESSORS_ONLN 2>/dev/null) - [ -z ${JOBS:+x} ] && JOBS=2 - - mkdir -p ${BUILDDIR:-build} - cd ${BUILDDIR:-build} - ${CMAKE_PREFIX:-} cmake ${CMAKE_PARAMS:-} ${CCACHE_LOC:-..} + mkdir -p "${BUILDDIR}" + cd "${BUILDDIR}" + ${CMAKE_PREFIX} cmake ${CMAKE_PARAMS} ${CCACHE_LOC} case "${CMAKE_GENERATOR}" in [Vv]isual" "[Ss]tudio*) # MSBuild, use all CPUs. - ${CMAKE_PREFIX:-} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS:-} -- -m + ${CMAKE_PREFIX} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS} -- -m ;; *) # Ninja automatically uses all available CPUs. - ${CMAKE_PREFIX:-} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS:-} + ${CMAKE_PREFIX} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS} ;; esac case "${RUN_TESTS:-all}" in all) - CC=${TEST_CC:-${CC}} ctest --output-on-failure -j$JOBS "$@" + CC="${TEST_CC}" ctest --output-on-failure -j"${JOBS}" "$@" ;; unittest-in-wine) wine ccache.exe --version -- cgit v1.2.1