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