[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / clang-tools-extra / test / CMakeLists.txt
blob06be00015223064992c098d79aa2dfa19149997a
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 ".")
12 else ()
13   set(LLVM_BUILD_MODE "%(build_mode)s")
14 endif ()
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
20   )
22 configure_lit_site_cfg(
23   ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
24   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
25   MAIN_CONFIG
26   ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
27   )
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
32   MAIN_CONFIG
33   ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
34   )
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")
39 endif()
41 set(CLANG_TOOLS_TEST_DEPS
42   # For the clang-apply-replacements test that uses clang-rename.
43   clang-rename
45   # For the clang-doc tests that emit bitcode files.
46   llvm-bcanalyzer
48   # Individual tools we test.
49   clang-apply-replacements
50   clang-change-namespace
51   clang-doc
52   clang-include-fixer
53   clang-move
54   clang-query
55   clang-reorder-fields
56   find-all-symbols
57   modularize
58   pp-trace
60   # Unit tests
61   ExtraToolsUnitTests
63   # clang-tidy tests require it.
64   clang-resource-headers
66   clang-tidy
67   # Clang-tidy tests need clang for building modules.
68   clang
71 # Add lit test dependencies.
72 set(LLVM_UTILS_DEPS
73   FileCheck count not
75 foreach(dep ${LLVM_UTILS_DEPS})
76   if(TARGET ${dep})
77     list(APPEND CLANG_TOOLS_TEST_DEPS ${dep})
78   endif()
79 endforeach()
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}
85   )
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}
91   )