Mercurial > hg > CbC > CbC_llvm
annotate projects/compiler-rt/test/CMakeLists.txt @ 214:0cf2d4ade63d
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Jul 2021 09:53:52 +0900 |
parents | f476a9ba4795 |
children |
rev | line source |
---|---|
131
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
1 # Needed for lit support in standalone builds. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
2 include(AddLLVM) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
3 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
4 configure_compiler_rt_lit_site_cfg( |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
5 ${CMAKE_CURRENT_SOURCE_DIR}/lit.common.configured.in |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
6 ${CMAKE_CURRENT_BINARY_DIR}/lit.common.configured) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
7 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
8 # BlocksRuntime (and most of builtins) testsuites are not yet ported to lit. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
9 # add_subdirectory(BlocksRuntime) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
10 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
11 set(SANITIZER_COMMON_LIT_TEST_DEPS) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
12 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
13 if(COMPILER_RT_BUILD_PROFILE AND COMPILER_RT_HAS_PROFILE) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
14 list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS profile) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
15 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
16 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
17 if(COMPILER_RT_STANDALONE_BUILD) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
18 add_executable(FileCheck IMPORTED GLOBAL) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
19 set_property(TARGET FileCheck PROPERTY IMPORTED_LOCATION ${LLVM_TOOLS_BINARY_DIR}/FileCheck) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
20 list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS FileCheck) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
21 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
22 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
23 # When ANDROID, we build tests with the host compiler (i.e. CMAKE_C_COMPILER), |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
24 # and run tests with tools from the host toolchain. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
25 if(NOT ANDROID) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
26 if(NOT COMPILER_RT_STANDALONE_BUILD) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
27 # Use LLVM utils and Clang from the same build tree. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
28 list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
29 clang clang-headers FileCheck count not llvm-config llvm-nm llvm-objdump |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
30 llvm-readobj llvm-symbolizer compiler-rt-headers sancov) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
31 if (WIN32) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
32 list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS KillTheDoctor) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
33 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
34 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
35 if(CMAKE_HOST_UNIX) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
36 list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS SanitizerLintCheck) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
37 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
38 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
39 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
40 function(compiler_rt_test_runtime runtime) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
41 string(TOUPPER ${runtime} runtime_uppercase) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
42 if(COMPILER_RT_HAS_${runtime_uppercase}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
43 add_subdirectory(${runtime}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
44 foreach(directory ${ARGN}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
45 add_subdirectory(${directory}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
46 endforeach() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
47 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
48 endfunction() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
49 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
50 # Run sanitizer tests only if we're sure that clang would produce |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
51 # working binaries. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
52 if(COMPILER_RT_CAN_EXECUTE_TESTS) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
53 if(COMPILER_RT_BUILD_BUILTINS) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
54 add_subdirectory(builtins) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
55 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
56 if(COMPILER_RT_BUILD_SANITIZERS) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
57 compiler_rt_test_runtime(interception) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
58 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
59 compiler_rt_test_runtime(lsan) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
60 # CFI tests require diagnostic mode, which is implemented in UBSan. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
61 compiler_rt_test_runtime(ubsan cfi) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
62 compiler_rt_test_runtime(sanitizer_common) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
63 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
64 if(COMPILER_RT_BUILD_LIBFUZZER) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
65 compiler_rt_test_runtime(fuzzer) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
66 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
67 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
68 foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
69 # cfi testing is gated on ubsan |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
70 if(NOT ${sanitizer} STREQUAL cfi) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
71 compiler_rt_test_runtime(${sanitizer}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
72 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
73 endforeach() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
74 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
75 if(COMPILER_RT_BUILD_PROFILE AND COMPILER_RT_HAS_PROFILE) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
76 compiler_rt_test_runtime(profile) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
77 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
78 if(COMPILER_RT_BUILD_XRAY) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
79 compiler_rt_test_runtime(xray) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
80 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
81 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
82 |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
83 if(COMPILER_RT_STANDALONE_BUILD) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
84 # Now that we've traversed all the directories and know all the lit testsuites, |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
85 # introduce a rule to run to run all of them. |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
86 get_property(LLVM_LIT_TESTSUITES GLOBAL PROPERTY LLVM_LIT_TESTSUITES) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
87 get_property(LLVM_LIT_DEPENDS GLOBAL PROPERTY LLVM_LIT_DEPENDS) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
88 add_lit_target(check-compiler-rt |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
89 "Running all regression tests" |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
90 ${LLVM_LIT_TESTSUITES} |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
91 DEPENDS ${LLVM_LIT_DEPENDS}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
92 if(NOT TARGET check-all) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
93 add_custom_target(check-all) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
94 endif() |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
95 add_custom_target(compiler-rt-test-depends DEPENDS ${LLVM_LIT_DEPENDS}) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
96 add_dependencies(check-all check-compiler-rt) |
f476a9ba4795
http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
mir3636
parents:
diff
changeset
|
97 endif() |