summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt6
-rwxr-xr-xcmake/modules/AddLLVM.cmake8
-rw-r--r--unittests/CMakeLists.txt4
-rw-r--r--utils/unittest/CMakeLists.txt24
4 files changed, 28 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7959f65647..8b2b2dc36a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -364,12 +364,18 @@ add_subdirectory(lib/Archive)
add_subdirectory(projects)
option(LLVM_BUILD_TOOLS "Build LLVM tool programs." ON)
+option(LLVM_INCLUDE_TOOLS
+ "Include LLVM tool programs as an available target." ON)
add_subdirectory(tools)
option(LLVM_BUILD_EXAMPLES "Build LLVM example programs." OFF)
+option(LLVM_INCLUDE_EXAMPLES
+ "Include LLVM example programs as an available target." OFF)
add_subdirectory(examples)
option(LLVM_BUILD_TESTS "Build LLVM unit tests." OFF)
+option(LLVM_INCLUDE_TESTS
+ "Include LLVM unit tests as an available target." OFF)
add_subdirectory(test)
add_subdirectory(utils/unittest)
add_subdirectory(unittests)
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 22a456e460..699754f6a2 100755
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -77,7 +77,9 @@ macro(add_llvm_tool name)
if( NOT LLVM_BUILD_TOOLS )
set(EXCLUDE_FROM_ALL ON)
endif()
- add_llvm_executable(${name} ${ARGN})
+ if( LLVM_INCLUDE_TOOLS OR LLVM_BUILD_TOOLS )
+ add_llvm_executable(${name} ${ARGN})
+ endif()
if( LLVM_BUILD_TOOLS )
install(TARGETS ${name} RUNTIME DESTINATION bin)
endif()
@@ -89,7 +91,9 @@ macro(add_llvm_example name)
if( NOT LLVM_BUILD_EXAMPLES )
set(EXCLUDE_FROM_ALL ON)
endif()
- add_llvm_executable(${name} ${ARGN})
+ if( LLVM_INCLUDE_EXAMPLES OR LLVM_BUILD_EXAMPLES )
+ add_llvm_executable(${name} ${ARGN})
+ endif()
if( LLVM_BUILD_EXAMPLES )
install(TARGETS ${name} RUNTIME DESTINATION examples)
endif()
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
index 595ec21454..ab4d53c90b 100644
--- a/unittests/CMakeLists.txt
+++ b/unittests/CMakeLists.txt
@@ -9,7 +9,9 @@ function(add_llvm_unittest test_name)
if( NOT LLVM_BUILD_TESTS )
set(EXCLUDE_FROM_ALL ON)
endif()
- add_llvm_executable(${test_name}Tests ${ARGN})
+ if (LLVM_INCLUDE_TESTS OR LLVM_BUILD_TESTS)
+ add_llvm_executable(${test_name}Tests ${ARGN})
+ endif()
endfunction()
include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
diff --git a/utils/unittest/CMakeLists.txt b/utils/unittest/CMakeLists.txt
index 7068546301..99741c8f05 100644
--- a/utils/unittest/CMakeLists.txt
+++ b/utils/unittest/CMakeLists.txt
@@ -20,15 +20,17 @@ if(WIN32)
add_definitions(-DGTEST_OS_WINDOWS=1)
endif()
-add_llvm_library(gtest
- googletest/gtest.cc
- googletest/gtest-death-test.cc
- googletest/gtest-filepath.cc
- googletest/gtest-port.cc
- googletest/gtest-test-part.cc
- googletest/gtest-typed-test.cc
- )
+if (LLVM_INCLUDE_TESTS OR LLVM_BUILD_TESTS)
+ add_llvm_library(gtest
+ googletest/gtest.cc
+ googletest/gtest-death-test.cc
+ googletest/gtest-filepath.cc
+ googletest/gtest-port.cc
+ googletest/gtest-test-part.cc
+ googletest/gtest-typed-test.cc
+ )
-add_llvm_library(gtest_main
- UnitTestMain/TestMain.cpp
- )
+ add_llvm_library(gtest_main
+ UnitTestMain/TestMain.cpp
+ )
+endif()