1configure_lit_site_cfg(
2  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
3  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
4  )
5configure_lit_site_cfg(
6  ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
7  ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
8  )
9
10# Don't include check-llvm into check-all without LLVM_BUILD_TOOLS.
11if(NOT LLVM_BUILD_TOOLS)
12  set(EXCLUDE_FROM_ALL ON)
13endif()
14
15# Set the depends list as a variable so that it can grow conditionally.
16# NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
17set(LLVM_TEST_DEPENDS
18          llvm-config
19          UnitTests
20          BugpointPasses
21          LLVMHello
22          bugpoint
23          llc
24          lli
25          lli-child-target
26          llvm-ar
27          llvm-as
28          llvm-bcanalyzer
29          llvm-c-test
30          llvm-cov
31          llvm-diff
32          llvm-dis
33          llvm-dsymutil
34          llvm-dwarfdump
35          llvm-extract
36          llvm-link
37          llvm-lto
38          llvm-mc
39          llvm-mcmarkup
40          llvm-nm
41          llvm-objdump
42          llvm-profdata
43          llvm-ranlib
44          llvm-readobj
45          llvm-rtdyld
46          llvm-size
47          llvm-symbolizer
48          llvm-tblgen
49          llvm-vtabledump
50          macho-dump
51          opt
52          FileCheck
53          count
54          not
55          yaml2obj
56          obj2yaml
57          verify-uselistorder
58        )
59
60# If Intel JIT events are supported, depend on a tool that tests the listener.
61if( LLVM_USE_INTEL_JITEVENTS )
62  set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
63endif( LLVM_USE_INTEL_JITEVENTS )
64
65if(TARGET LLVMgold)
66  set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
67endif()
68
69if(TARGET llvm-go)
70  set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
71endif()
72
73if(TARGET ocaml_llvm)
74  set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
75          ocaml_llvm
76          ocaml_llvm_all_backends
77          ocaml_llvm_analysis
78          ocaml_llvm_bitreader
79          ocaml_llvm_bitwriter
80          ocaml_llvm_executionengine
81          ocaml_llvm_irreader
82          ocaml_llvm_linker
83          ocaml_llvm_target
84          ocaml_llvm_ipo
85          ocaml_llvm_passmgr_builder
86          ocaml_llvm_scalar_opts
87          ocaml_llvm_transform_utils
88          ocaml_llvm_vectorize
89        )
90endif()
91
92add_lit_testsuite(check-llvm "Running the LLVM regression tests"
93  ${CMAKE_CURRENT_BINARY_DIR}
94  PARAMS llvm_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
95         llvm_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
96  DEPENDS ${LLVM_TEST_DEPENDS}
97  )
98set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
99
100# Setup a legacy alias for 'check-llvm'. This will likely change to be an
101# alias for 'check-all' at some point in the future.
102add_custom_target(check)
103add_dependencies(check check-llvm)
104set_target_properties(check PROPERTIES FOLDER "Tests")
105