summaryrefslogtreecommitdiff
path: root/clang-tools-extra/CMakeLists.txt
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2022-03-16 19:46:28 +0100
committerSam McCall <sam.mccall@gmail.com>2022-05-06 12:30:49 +0200
commit7cc8377f2c572a919ecb2d22b2039acf3e6b745a (patch)
treeea9672c2dd46bc2ccb6b7f91cede383aec495242 /clang-tools-extra/CMakeLists.txt
parentf0e8c1d6d99ef686fd381c6af4debc7470876681 (diff)
downloadllvm-7cc8377f2c572a919ecb2d22b2039acf3e6b745a.tar.gz
Generalize "check-all" umbrella targets, use for check-clang-tools
The mechanism behind "check-all" is recording params of add_lit_testsuite() calls in global variables LLVM_LIT_*, and then creating an extra suite with their union at the end. This avoids composing the check-* targets directly, which doesn't work well. We generalize this by allowing multiple families of variables LLVM_{name}_LIT_*: umbrella_lit_testsuite_begin(check-foo) ... test suites here will be added to LLVM_FOO_LIT_* variables ... umbrella_lit_testsuite_end(check-foo) (This also moves some implementation muck out of {llvm,clang}/CMakeLists.txt This patch also changes check-clang-tools to use be an umbrella test target, which means the clangd and clang-pseudo tests are included in it, along with the the other testsuites that already are (like check-clang-extra-clang-tidy). Differential Revision: https://reviews.llvm.org/D121838
Diffstat (limited to 'clang-tools-extra/CMakeLists.txt')
-rw-r--r--clang-tools-extra/CMakeLists.txt22
1 files changed, 16 insertions, 6 deletions
diff --git a/clang-tools-extra/CMakeLists.txt b/clang-tools-extra/CMakeLists.txt
index 4c1d4ada567f..6a3f741721ee 100644
--- a/clang-tools-extra/CMakeLists.txt
+++ b/clang-tools-extra/CMakeLists.txt
@@ -4,6 +4,15 @@ include(GNUInstallDirs)
option(CLANG_TIDY_ENABLE_STATIC_ANALYZER
"Include static analyzer checks in clang-tidy" ON)
+if(CLANG_INCLUDE_TESTS)
+ umbrella_lit_testsuite_begin(check-clang-tools)
+
+ option(CLANG_TOOLS_TEST_USE_VG "Run Clang tools' tests under Valgrind" OFF)
+ if(CLANG_TOOLS_TEST_USE_VG)
+ set_property(GLOBAL APPEND PROPERTY LLVM_CLANG_TOOLS_LIT_EXTRA_ARGS "--vg")
+ endif()
+endif()
+
add_subdirectory(clang-apply-replacements)
add_subdirectory(clang-reorder-fields)
add_subdirectory(modularize)
@@ -19,12 +28,6 @@ add_subdirectory(pp-trace)
add_subdirectory(pseudo)
add_subdirectory(tool-template)
-# Add the common testsuite after all the tools.
-if(CLANG_INCLUDE_TESTS)
-add_subdirectory(test)
-add_subdirectory(unittests)
-endif()
-
option(CLANG_TOOLS_EXTRA_INCLUDE_DOCS "Generate build targets for the Clang Extra Tools docs."
${LLVM_INCLUDE_DOCS})
if( CLANG_TOOLS_EXTRA_INCLUDE_DOCS )
@@ -37,3 +40,10 @@ CMAKE_DEPENDENT_OPTION(CLANG_ENABLE_CLANGD "Build clangd language server" ON
if (CLANG_ENABLE_CLANGD)
add_subdirectory(clangd)
endif()
+
+# Add the common testsuite after all the tools.
+if(CLANG_INCLUDE_TESTS)
+ add_subdirectory(test)
+ add_subdirectory(unittests)
+ umbrella_lit_testsuite_end(check-clang-tools)
+endif()