From: Joel Rosdahl Date: Sun, 30 Aug 2020 19:49:47 +0000 (+0200) Subject: Use Ninja when building source and binary packages X-Git-Tag: v4.0~150 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e908ec2bfe897dc98af41977b86d68e2c65ab94a;p=thirdparty%2Fccache.git Use Ninja when building source and binary packages Ninja builds with relative paths so that ccache can be used to cache the build without resorting to setting base_dir. --- diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a316e51b8..9b82fba57 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -139,14 +139,14 @@ jobs: CXX: clang++ SPECIAL: build-and-verify-package CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=Release - apt_get: elfutils libzstd-dev + apt_get: elfutils libzstd-dev ninja-build - name: Source package os: ubuntu-20.04 CC: clang CXX: clang++ SPECIAL: build-and-verify-package-source - apt_get: elfutils libzstd-dev + apt_get: elfutils libzstd-dev ninja-build - name: Documentation os: ubuntu-18.04 diff --git a/ci/build-and-verify-package b/ci/build-and-verify-package index 4e8ff8c56..c9a95d3e0 100755 --- a/ci/build-and-verify-package +++ b/ci/build-and-verify-package @@ -2,11 +2,15 @@ set -eu +# Ninja builds with relative paths so that ccache can be used to cache the build +# without resorting to setting base_dir. +export CMAKE_GENERATOR=Ninja + rm -rf build_package_dir_test mkdir -p build_package_dir_test cd build_package_dir_test cmake .. -cmake --build . --target package +ninja -v package # Get out of git directory just to be sure. tmp_dir=$(mktemp -d) diff --git a/ci/build-and-verify-package-source b/ci/build-and-verify-package-source index 4ef2d75f8..d7f5f0ce8 100755 --- a/ci/build-and-verify-package-source +++ b/ci/build-and-verify-package-source @@ -2,11 +2,15 @@ set -eu +# Ninja builds with relative paths so that ccache can be used to cache the build +# without resorting to setting base_dir. +export CMAKE_GENERATOR=Ninja + rm -rf build_package_source_dir_test mkdir -p build_package_source_dir_test cd build_package_source_dir_test cmake .. -cmake --build . --target package_source +ninja -v package_source tmp_dir=$(mktemp -d) trap "rm -rf $tmp_dir" EXIT @@ -14,6 +18,9 @@ trap "rm -rf $tmp_dir" EXIT tar -xf ccache-*.tar.xz -C $tmp_dir cd $tmp_dir/ccache-* -cmake . -cmake --build . -- -j4 -ctest --output-on-failure -j4 +mkdir build +cd build +cmake .. +ninja -v +jobs=$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) +ctest --output-on-failure -j $jobs