CMake: Optionally allow running the Clang unit tests in standalone builds.

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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174691 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ad0557..d1c8cec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -279,10 +279,17 @@
 # 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