1 # Test runner infrastructure for Clang. This configures the Clang test trees
2 # for use by Lit, and delegates to LLVM's lit test handlers.
4 if (CMAKE_CFG_INTDIR STREQUAL ".")
5 set(LLVM_BUILD_MODE ".")
7 set(LLVM_BUILD_MODE "%(build_mode)s")
10 string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
12 if(CLANG_BUILT_STANDALONE)
13 # Set HAVE_LIBZ according to recorded LLVM_ENABLE_ZLIB value. This
14 # value is forced to 0 if zlib was not found, so it is fine to use it
15 # instead of HAVE_LIBZ (not recorded).
21 llvm_canonicalize_cmake_booleans(
24 CLANG_ENABLE_STATIC_ANALYZER
28 configure_lit_site_cfg(
29 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
30 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
33 configure_lit_site_cfg(
34 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
35 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
38 option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
40 set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
43 list(APPEND CLANG_TEST_DEPS
53 if(CLANG_ENABLE_STATIC_ANALYZER)
54 list(APPEND CLANG_TEST_DEPS
59 if (CLANG_ENABLE_ARCMT)
60 list(APPEND CLANG_TEST_DEPS
66 if (CLANG_BUILD_EXAMPLES)
67 list(APPEND CLANG_TEST_DEPS
74 if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES)
75 list(APPEND CLANG_TEST_DEPS
81 clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
84 if( NOT CLANG_BUILT_STANDALONE )
85 list(APPEND CLANG_TEST_DEPS
102 list(APPEND CLANG_TEST_DEPS llvm-lto)
106 add_custom_target(clang-test-depends DEPENDS ${CLANG_TEST_DEPS})
107 set_target_properties(clang-test-depends PROPERTIES FOLDER "Clang tests")
109 add_lit_testsuite(check-clang "Running the Clang regression tests"
110 ${CMAKE_CURRENT_BINARY_DIR}
112 PARAMS ${CLANG_TEST_PARAMS}
113 DEPENDS ${CLANG_TEST_DEPS}
114 ARGS ${CLANG_TEST_EXTRA_ARGS}
116 set_target_properties(check-clang PROPERTIES FOLDER "Clang tests")
118 add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR}
119 PARAMS ${CLANG_TEST_PARAMS}
120 DEPENDS ${CLANG_TEST_DEPS}
123 # Add a legacy target spelling: clang-test
124 add_custom_target(clang-test)
125 add_dependencies(clang-test check-clang)
126 set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")