diff --git a/sbs b/sbs index f02005acad0c09fab1187c9281f447c470a3f692..abd068c07e0fd6112b90f9797138c552cf19eaf0 100755 --- a/sbs +++ b/sbs @@ -39,17 +39,23 @@ print_banner() { EOF } +show_found_deps() { + printf "Found Ccache: "; [ $ccache_found ] && echo "yes" || echo "no" + printf "Found Ninja: "; [ $ninja_found ] && echo "yes" || echo "no" + echo +} + configure() { - mkdir -p "$build_dir" && \ - cd "$build_dir" && \ + show_found_deps + [ $ccache_found ] && config_ccache="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" + [ $ninja_found ] && config_ninja="-GNinja" cmake \ - -DCMAKE_C_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -B "$build_dir" \ + $config_ccache \ -DCMAKE_TOOLCHAIN_FILE="$sbs_base/libs/miosix-kernel/miosix/_tools/toolchain.cmake" \ - -GNinja \ + $config_ninja \ $config_verbose \ - "$source_dir" && \ - cd "$source_dir" + "$source_dir" } clean() { [ -d "$build_dir" ] && cmake --build "$build_dir" $build_jobs --target clean; rm -rf "$build_dir"; } @@ -93,6 +99,9 @@ build_dir="$source_dir/build" config_verbose= build_jobs= +ccache_found="$(command -v ccache)" +ninja_found="$(command -v ninja)" + for arg in "$@"; do shift case "$arg" in