diff options
author | Brad King <brad.king@kitware.com> | 2019-10-10 17:28:08 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-10-10 17:28:45 (GMT) |
commit | b7509dd674d9e0a1e428c5f4ceff7b78b47ac296 (patch) | |
tree | 15320b95e68d54cdc13a3669e3539069408cb9f4 | |
parent | afdb354ac77818604dfed8ef416031a12ab49a48 (diff) | |
download | CMake-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.txt | 5 | ||||
-rw-r--r-- | Source/CursesDialog/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Source/QtDialog/CMakeLists.txt | 4 |
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 |