summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2016-07-10 02:43:47 +0000
committerMichael Gottesman <mgottesman@apple.com>2016-07-10 02:43:47 +0000
commitbe5b7871d9a99ade52c3ab708cfdcc9fc7fd8e15 (patch)
treee848e55d1ffc22315759b0efd7e25dc24ea8a341 /llvm
parenteb396a6cbf1e2ba0f1b8f48834fe13561b84e462 (diff)
downloadbcm5719-llvm-be5b7871d9a99ade52c3ab708cfdcc9fc7fd8e15.tar.gz
bcm5719-llvm-be5b7871d9a99ade52c3ab708cfdcc9fc7fd8e15.zip
[cmake] Create the LLVM_BUILD_UTILS option.
This option is the equivalent option to LLVM_BUILD_TOOLS but for executables created via add_llvm_utility. This is a useful tool for improving compile time in situations where LLVM is used as a library and no testing tools are needed. It follows the exact same implemention model as LLVM_BUILD_TOOLS. Since the option is by default set to on, no behavior is changed unless one sets it from the command line to be false. llvm-svn: 275007
Diffstat (limited to 'llvm')
-rw-r--r--llvm/CMakeLists.txt2
-rw-r--r--llvm/cmake/modules/AddLLVM.cmake9
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index ed3e1b8a07c..ac59748993a 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -391,6 +391,8 @@ option(LLVM_BUILD_TOOLS
"Build the LLVM tools. If OFF, just generate build targets." ON)
option(LLVM_INCLUDE_UTILS "Generate build targets for the LLVM utils." ON)
+option(LLVM_BUILD_UTILS
+ "Build LLVM utility binaries. If OFF, just generate build targets." ON)
option(LLVM_BUILD_RUNTIME
"Build the LLVM runtime libraries." ON)
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 9f161ff9572..26e43960014 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -800,11 +800,16 @@ macro(add_llvm_example name)
set_target_properties(${name} PROPERTIES FOLDER "Examples")
endmacro(add_llvm_example name)
-
+# This is a macro that is used to create targets for executables that are needed
+# for development, but that are not intended to be installed by default.
macro(add_llvm_utility name)
+ if ( NOT LLVM_BUILD_UTILS )
+ set(EXCLUDE_FROM_ALL ON)
+ endif()
+
add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
set_target_properties(${name} PROPERTIES FOLDER "Utils")
- if( LLVM_INSTALL_UTILS )
+ if( LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS )
install (TARGETS ${name}
RUNTIME DESTINATION bin
COMPONENT ${name})
OpenPOWER on IntegriCloud