CMake: Optionally allow running the Clang unit tests in standalone builds.
authorJordan Rose <jordan_rose@apple.com>
Fri, 8 Feb 2013 01:42:37 +0000 (01:42 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 8 Feb 2013 01:42:37 +0000 (01:42 +0000)
The reason this is not enabled by default is because there is no way for
Clang to guarantee that the LLVM unit testing infrastruture has been built.
However, if it /has/ been built, there's no reason why the standalone Clang
build can't use it!

This should have no effect on existing builds -- in a combined build the
value of the CLANG_INCLUDE_TESTS option defaults to the LLVM equivalent,
and in a standalone build it defaults to off.

llvm-svn: 174691

clang/CMakeLists.txt

index 0ad0557..d1c8cec 100644 (file)
@@ -279,10 +279,17 @@ add_subdirectory(examples)
 # TODO: docs.
 add_subdirectory(test)
 
-if( LLVM_INCLUDE_TESTS )
-  if( NOT CLANG_BUILT_STANDALONE )
-    add_subdirectory(unittests)
-  endif()
+option(CLANG_BUILD_TESTS
+       "Build Clang unit tests. If OFF, just generate build targets." 
+       LLVM_BUILD_TESTS)
+option(CLANG_INCLUDE_TESTS
+       "Generate build targets for the Clang unit tests."
+       LLVM_INCLUDE_TESTS)
+
+if( CLANG_INCLUDE_TESTS )
+  add_subdirectory(unittests)
+elseif( CLANG_BUILD_TESTS )
+  message(FATAL_ERROR "CLANG_BUILD_TESTS requires CLANG_INCLUDE_TESTS")
 endif()
 
 # Workaround for MSVS10 to avoid the Dialog Hell