summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-10-10 17:28:08 (GMT)
committerBrad King <brad.king@kitware.com>2019-10-10 17:28:45 (GMT)
commitb7509dd674d9e0a1e428c5f4ceff7b78b47ac296 (patch)
tree15320b95e68d54cdc13a3669e3539069408cb9f4
parentafdb354ac77818604dfed8ef416031a12ab49a48 (diff)
downloadCMake-b7509dd674d9e0a1e428c5f4ceff7b78b47ac296.zip
CMake-b7509dd674d9e0a1e428c5f4ceff7b78b47ac296.tar.gz
CMake-b7509dd674d9e0a1e428c5f4ceff7b78b47ac296.tar.bz2
Add option to configure Ninja link job pool for CMake's own binaries
Create an undocumented `CMake_JOB_POOL_LINK_BIN` option that builders can set to avoid linking too many of our binaries at once.
-rw-r--r--Source/CMakeLists.txt5
-rw-r--r--Source/CursesDialog/CMakeLists.txt4
-rw-r--r--Source/QtDialog/CMakeLists.txt4
3 files changed, 13 insertions, 0 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 63e08de..d89a69d 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -1193,6 +1193,11 @@ if(WIN32)
endforeach()
endif()
+if(CMake_JOB_POOL_LINK_BIN)
+ set_property(TARGET ${_tools} PROPERTY JOB_POOL_LINK "link-bin")
+ set_property(GLOBAL APPEND PROPERTY JOB_POOLS "link-bin=${CMake_JOB_POOL_LINK_BIN}")
+endif()
+
# Install tools
foreach(_tool ${_tools})
diff --git a/Source/CursesDialog/CMakeLists.txt b/Source/CursesDialog/CMakeLists.txt
index 7009717..a9e46fd5 100644
--- a/Source/CursesDialog/CMakeLists.txt
+++ b/Source/CursesDialog/CMakeLists.txt
@@ -34,5 +34,9 @@ else()
target_link_libraries(ccmake cmForm)
endif()
+if(CMake_JOB_POOL_LINK_BIN)
+ set_property(TARGET ccmake PROPERTY JOB_POOL_LINK "link-bin")
+endif()
+
CMake_OPTIONAL_COMPONENT(ccmake)
install(TARGETS ccmake DESTINATION ${CMAKE_BIN_DIR} ${COMPONENT})
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
index cb89d19..98dd0e2 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -178,6 +178,10 @@ if(WIN32)
target_sources(cmake-gui PRIVATE $<TARGET_OBJECTS:CMakeVersion>)
endif()
+if(CMake_JOB_POOL_LINK_BIN)
+ set_property(TARGET cmake-gui PROPERTY JOB_POOL_LINK "link-bin")
+endif()
+
# cmake-gui has not been updated for `include-what-you-use`.
# Block the tool until this is done.
set_target_properties(cmake-gui PROPERTIES