diff --git a/.ci_scripts/build.sh b/.ci_scripts/build.sh new file mode 100755 index 0000000000000000000000000000000000000000..f3082228a774653718cbf9fab754f0952e902f04 --- /dev/null +++ b/.ci_scripts/build.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# Build the project. +# Usage: build.sh [-d working_directory] [-t cmake_toolchain_file] +# -d working_directory: The directory to build the project in. + +# Default values +WORKING_DIRECTORY="" + +# Print usage information +usage() { + echo "Usage: $0 [-d working_directory]" 1>&2 + exit 1 +} + +# Parse command line arguments +while getopts "d:" opt; +do + case "${opt}" in + d) + # Working directory + WORKING_DIRECTORY="${OPTARG}" + echo "Building in directory ${WORKING_DIRECTORY}" + ;; + *) + usage + ;; + esac +done +shift $((OPTIND-1)) + +# Change to working directory if specified +if [[ $WORKING_DIRECTORY ]] +then + cd $WORKING_DIRECTORY +fi + +# Clean directory +rm -rf build bin + +# Build project +mkdir build bin +cd build +cmake .. +cmake --build . diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 271081cb36049582bcc2f45ba096bbb914a10da4..84dd977d814d0753a1ee684386857aae5970d76e 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -15,7 +15,7 @@ jobs: run: sudo $GITHUB_WORKSPACE/.ci_scripts/install_packages.sh - name: Build project with CMake - run: $GITHUB_WORKSPACE/build.sh -d $GITHUB_WORKSPACE + run: $GITHUB_WORKSPACE/.ci_scripts/build.sh -d $GITHUB_WORKSPACE - name: Run CUnit tests run: $GITHUB_WORKSPACE/.ci_scripts/run_tests.sh