diff options
author | Sam McCall <sam.mccall@gmail.com> | 2022-03-16 19:46:28 +0100 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2022-05-06 12:30:49 +0200 |
commit | 7cc8377f2c572a919ecb2d22b2039acf3e6b745a (patch) | |
tree | ea9672c2dd46bc2ccb6b7f91cede383aec495242 /clang-tools-extra/CMakeLists.txt | |
parent | f0e8c1d6d99ef686fd381c6af4debc7470876681 (diff) | |
download | llvm-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.txt | 22 |
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() |