summaryrefslogtreecommitdiffstats
path: root/.gitlab/ci/ctest_build.cmake
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2021-04-06 14:43:49 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2021-04-06 15:16:09 (GMT)
commit3fd2cffb4d4649f7773297d5af7a6bda5ef9a69b (patch)
tree817b2318a82040157114ab1e2e2c50676e0349ca /.gitlab/ci/ctest_build.cmake
parent6317f92120bba15c6ea8ee02c47ebff4afb5c53c (diff)
downloadCMake-3fd2cffb4d4649f7773297d5af7a6bda5ef9a69b.zip
CMake-3fd2cffb4d4649f7773297d5af7a6bda5ef9a69b.tar.gz
CMake-3fd2cffb4d4649f7773297d5af7a6bda5ef9a69b.tar.bz2
ci: limit builds by machine load
To avoid starving test jobs, the build jobs should also back off if there is a lot of machine load.
Diffstat (limited to '.gitlab/ci/ctest_build.cmake')
-rw-r--r--.gitlab/ci/ctest_build.cmake14
1 files changed, 11 insertions, 3 deletions
diff --git a/.gitlab/ci/ctest_build.cmake b/.gitlab/ci/ctest_build.cmake
index 6402a5d..e7a0985 100644
--- a/.gitlab/ci/ctest_build.cmake
+++ b/.gitlab/ci/ctest_build.cmake
@@ -8,10 +8,18 @@ ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
# Pick up from where the configure left off.
ctest_start(APPEND)
+include(ProcessorCount)
+ProcessorCount(nproc)
+if (NOT "$ENV{CTEST_MAX_PARALLELISM}" STREQUAL "")
+ if (nproc GREATER "$ENV{CTEST_MAX_PARALLELISM}")
+ set(nproc "$ENV{CTEST_MAX_PARALLELISM}")
+ endif ()
+endif ()
+
if (CTEST_CMAKE_GENERATOR STREQUAL "Unix Makefiles")
- include(ProcessorCount)
- ProcessorCount(nproc)
- set(CTEST_BUILD_FLAGS "-j${nproc}")
+ set(CTEST_BUILD_FLAGS "-j${nproc} -l${nproc}")
+elseif (CTEST_CMAKE_GENERATOR MATCHES "Ninja")
+ set(CTEST_BUILD_FLAGS "-l${nproc}")
endif ()
ctest_build(