]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Use Ninja when building source and binary packages
authorJoel Rosdahl <joel@rosdahl.net>
Sun, 30 Aug 2020 19:49:47 +0000 (21:49 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Mon, 31 Aug 2020 08:34:35 +0000 (10:34 +0200)
Ninja builds with relative paths so that ccache can be used to cache the
build without resorting to setting base_dir.

.github/workflows/build.yaml
ci/build-and-verify-package
ci/build-and-verify-package-source

index a316e51b8b275aa7e31f27b13edc273a8fec855e..9b82fba57f8e4b3af90de249d24fa76829c41734 100644 (file)
@@ -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
index 4e8ff8c561114ca42b5e9bd4ccd7fe20849b26d1..c9a95d3e0ea049f81b00a95d5caab9f658d0b6b6 100755 (executable)
@@ -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)
index 4ef2d75f8d1c43ace7c46f8a89de1e81de3767c3..d7f5f0ce89a0a4775191f4bf697d3bba1b114935 100755 (executable)
@@ -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