diff options
author | Michael Gottesman <mgottesman@apple.com> | 2016-07-10 01:44:00 +0000 |
---|---|---|
committer | Michael Gottesman <mgottesman@apple.com> | 2016-07-10 01:44:00 +0000 |
commit | 9401ddc7d1bcf99f1bdaadae9ec90810c0fd9c64 (patch) | |
tree | 50ab7e89d24f6c1d109716f21eb6407636fa6d52 /clang/cmake | |
parent | 09b334be4a119a9c3d32dafa79089f233103673a (diff) |
Add CLANG_BUILD_TOOLS as a clang counterpart for LLVM_BUILD_TOOLS
LLVM_BUILD_TOOLS is a boolean variable that controls whether or not generated
targets for llvm tools are built by the "all" target. CLANG_BUILD_TOOLS is an
analogous variable for clang targets.
This is useful functionality for selectively disabling the building of clang
targets by default to speed up builds.
In terms of implementation, I just followed the model of LLVM's implementation
of this functionality.
Diffstat (limited to 'clang/cmake')
-rw-r--r-- | clang/cmake/modules/AddClang.cmake | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake index 121ad29b500..6e063a706bf 100644 --- a/clang/cmake/modules/AddClang.cmake +++ b/clang/cmake/modules/AddClang.cmake @@ -121,17 +121,24 @@ macro(add_clang_executable name) endmacro(add_clang_executable) macro(add_clang_tool name) + if (NOT CLANG_BUILD_TOOLS) + set(EXCLUDE_FROM_ALL ON) + endif() + add_clang_executable(${name} ${ARGN}) - install(TARGETS ${name} - RUNTIME DESTINATION bin - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} - DEPENDS ${name} - COMMAND "${CMAKE_COMMAND}" - -DCMAKE_INSTALL_COMPONENT=${name} - -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") + + if (CLANG_BUILD_TOOLS) + install(TARGETS ${name} + RUNTIME DESTINATION bin + COMPONENT ${name}) + + if(NOT CMAKE_CONFIGURATION_TYPES) + add_custom_target(install-${name} + DEPENDS ${name} + COMMAND "${CMAKE_COMMAND}" + -DCMAKE_INSTALL_COMPONENT=${name} + -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") + endif() endif() endmacro() |