CMake: Don't include tools, unittets, or examples as available targets
authorMichael J. Spencer <bigcheesegs@gmail.com>
Fri, 24 Sep 2010 19:10:51 +0000 (19:10 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Fri, 24 Sep 2010 19:10:51 +0000 (19:10 +0000)
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114747 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
cmake/modules/AddLLVM.cmake
unittests/CMakeLists.txt
utils/unittest/CMakeLists.txt

index 7959f65647b93621e6aa666c5ec51f805bc818b3..8b2b2dc36a9e5bd7ff41c864a2ef33a21f5d4626 100644 (file)
@@ -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)
index 22a456e460c591fdb3e93d4c589fd56e03f56f62..699754f6a2bda8abd02528a48fdbc45b3b03d303 100755 (executable)
@@ -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()
index 595ec21454eb92d28cee7c584ca0873f92b11652..ab4d53c90bb4f75043052b67e34eb099302b07df 100644 (file)
@@ -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)
index 7068546301439f9a4c975147c2ee0d9c882693e1..99741c8f056e28479f9da5a28857d3f37c635c4e 100644 (file)
@@ -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()