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.
This commit is contained in:
Brad King 2019-10-10 13:28:08 -04:00
parent afdb354ac7
commit b7509dd674
3 changed files with 13 additions and 0 deletions

View File

@ -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})

View File

@ -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})

View File

@ -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