1 # Test runner infrastructure for Clang-based tools. This configures the Clang
2 # test trees for use by Lit, and delegates to LLVM's lit test handlers.
4 # Note that currently we don't support stand-alone builds of Clang, you must
5 # be building Clang from within a combined LLVM+Clang checkout..
7 set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
8 set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
10 if (CMAKE_CFG_INTDIR STREQUAL ".")
11 set(LLVM_BUILD_MODE ".")
13 set(LLVM_BUILD_MODE "%(build_mode)s")
16 string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
18 llvm_canonicalize_cmake_booleans(
19 CLANG_TIDY_ENABLE_STATIC_ANALYZER
22 configure_lit_site_cfg(
23 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
24 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
26 ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
29 configure_lit_site_cfg(
30 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
31 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
33 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
36 option(CLANG_TOOLS_TEST_USE_VG "Run Clang tools' tests under Valgrind" OFF)
37 if(CLANG_TOOLS_TEST_USE_VG)
38 set(CLANG_TOOLS_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
41 set(CLANG_TOOLS_TEST_DEPS
42 # For the clang-apply-replacements test that uses clang-rename.
45 # For the clang-doc tests that emit bitcode files.
48 # Individual tools we test.
49 clang-apply-replacements
50 clang-change-namespace
63 # clang-tidy tests require it.
64 clang-resource-headers
67 # Clang-tidy tests need clang for building modules.
71 # Add lit test dependencies.
75 foreach(dep ${LLVM_UTILS_DEPS})
77 list(APPEND CLANG_TOOLS_TEST_DEPS ${dep})
81 add_lit_testsuite(check-clang-tools "Running the Clang extra tools' regression tests"
82 ${CMAKE_CURRENT_BINARY_DIR}
83 DEPENDS ${CLANG_TOOLS_TEST_DEPS}
84 ARGS ${CLANG_TOOLS_TEST_EXTRA_ARGS}
87 set_target_properties(check-clang-tools PROPERTIES FOLDER "Clang extra tools' tests")
89 add_lit_testsuites(CLANG-EXTRA ${CMAKE_CURRENT_SOURCE_DIR}
90 DEPENDS ${CLANG_TOOLS_TEST_DEPS}