diff --git a/clang/lib/CMakeLists.txt b/clang/lib/CMakeLists.txt --- a/clang/lib/CMakeLists.txt +++ b/clang/lib/CMakeLists.txt @@ -25,5 +25,7 @@ add_subdirectory(IndexSerialization) add_subdirectory(StaticAnalyzer) add_subdirectory(Format) -add_subdirectory(Testing) +if(CLANG_INCLUDE_TESTS) + add_subdirectory(Testing) +endif() add_subdirectory(Interpreter) diff --git a/clang/lib/Testing/CMakeLists.txt b/clang/lib/Testing/CMakeLists.txt --- a/clang/lib/Testing/CMakeLists.txt +++ b/clang/lib/Testing/CMakeLists.txt @@ -2,6 +2,13 @@ Support ) -add_clang_library(clangTesting +# Not add_clang_library: this is not part of clang's public library interface. +# Unit tests should depend on this with target_link_libraries(), rather +# than with clang_target_link_libraries(). +add_llvm_library(clangTesting CommandLineArgs.cpp + BUILDTREE_ONLY + + LINK_COMPONENTS + Support ) diff --git a/clang/unittests/AST/CMakeLists.txt b/clang/unittests/AST/CMakeLists.txt --- a/clang/unittests/AST/CMakeLists.txt +++ b/clang/unittests/AST/CMakeLists.txt @@ -43,11 +43,11 @@ clangFrontend clangLex clangSerialization - clangTesting clangTooling ) target_link_libraries(ASTTests PRIVATE + clangTesting LLVMTestingSupport ) diff --git a/clang/unittests/ASTMatchers/CMakeLists.txt b/clang/unittests/ASTMatchers/CMakeLists.txt --- a/clang/unittests/ASTMatchers/CMakeLists.txt +++ b/clang/unittests/ASTMatchers/CMakeLists.txt @@ -18,12 +18,12 @@ clangBasic clangFrontend clangSerialization - clangTesting clangTooling ) target_link_libraries(ASTMatchersTests PRIVATE + clangTesting LLVMTestingSupport ) diff --git a/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt b/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt --- a/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt +++ b/clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt @@ -17,6 +17,10 @@ clangDynamicASTMatchers clangFrontend clangSerialization - clangTesting clangTooling ) + +target_link_libraries(DynamicASTMatchersTests + PRIVATE + clangTesting + ) diff --git a/clang/unittests/Analysis/CMakeLists.txt b/clang/unittests/Analysis/CMakeLists.txt --- a/clang/unittests/Analysis/CMakeLists.txt +++ b/clang/unittests/Analysis/CMakeLists.txt @@ -20,12 +20,12 @@ clangFrontend clangLex clangSerialization - clangTesting clangTooling ) target_link_libraries(ClangAnalysisTests PRIVATE + clangTesting LLVMTestingSupport ) diff --git a/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt b/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt --- a/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt +++ b/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt @@ -31,11 +31,11 @@ clangFrontend clangLex clangSerialization - clangTesting clangTooling ) target_link_libraries(ClangAnalysisFlowSensitiveTests PRIVATE + clangTesting LLVMTestingSupport ) diff --git a/clang/unittests/Sema/CMakeLists.txt b/clang/unittests/Sema/CMakeLists.txt --- a/clang/unittests/Sema/CMakeLists.txt +++ b/clang/unittests/Sema/CMakeLists.txt @@ -19,11 +19,11 @@ clangParse clangSema clangSerialization - clangTesting clangTooling ) target_link_libraries(SemaTests PRIVATE + clangTesting LLVMTestingSupport ) diff --git a/clang/unittests/StaticAnalyzer/CMakeLists.txt b/clang/unittests/StaticAnalyzer/CMakeLists.txt --- a/clang/unittests/StaticAnalyzer/CMakeLists.txt +++ b/clang/unittests/StaticAnalyzer/CMakeLists.txt @@ -31,6 +31,10 @@ clangSerialization clangStaticAnalyzerCore clangStaticAnalyzerFrontend - clangTesting clangTooling ) + +target_link_libraries(StaticAnalysisTests + PRIVATE + clangTesting + ) diff --git a/clang/unittests/Tooling/Syntax/CMakeLists.txt b/clang/unittests/Tooling/Syntax/CMakeLists.txt --- a/clang/unittests/Tooling/Syntax/CMakeLists.txt +++ b/clang/unittests/Tooling/Syntax/CMakeLists.txt @@ -18,7 +18,6 @@ clangFrontend clangLex clangSerialization - clangTesting clangTooling clangToolingCore clangToolingSyntax @@ -26,5 +25,6 @@ target_link_libraries(SyntaxTests PRIVATE + clangTesting LLVMTestingSupport )