blob: 07c9be077cfd1236f3c15cdbea49341c8c45059d [file] [log] [blame]
Michal Gorny9283f5b2017-01-06 21:33:48 +00001llvm_canonicalize_cmake_booleans(
2 LLVM_TOOL_LTO_BUILD
3 HAVE_OCAMLOPT
4 HAVE_OCAML_OUNIT
5 LLVM_INCLUDE_GO_TESTS
6 LLVM_USE_INTEL_JITEVENTS
7 HAVE_LIBZ
8 HAVE_LIBXAR
9 LLVM_ENABLE_DIA_SDK
Michal Gornyd1b95482017-01-06 21:33:54 +000010 LLVM_ENABLE_FFI
Sam Clegg0be459e2017-10-18 19:37:30 +000011 BUILD_SHARED_LIBS
12 LLVM_LINK_LLVM_DYLIB
13 )
Michal Gorny9283f5b2017-01-06 21:33:48 +000014
Chandler Carruth3511dd32012-06-28 06:36:24 +000015configure_lit_site_cfg(
Zachary Turner957d6112017-09-21 00:24:52 +000016 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
17 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
18 MAIN_CONFIG
19 ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
Chandler Carruth3511dd32012-06-28 06:36:24 +000020 )
21configure_lit_site_cfg(
Zachary Turner957d6112017-09-21 00:24:52 +000022 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
23 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
24 MAIN_CONFIG
25 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
Chandler Carruth3511dd32012-06-28 06:36:24 +000026 )
Daniel Dunbar21079ca2011-11-04 23:04:05 +000027
NAKAMURA Takumi02a0ac42012-10-10 13:33:00 +000028# Don't include check-llvm into check-all without LLVM_BUILD_TOOLS.
29if(NOT LLVM_BUILD_TOOLS)
30 set(EXCLUDE_FROM_ALL ON)
31endif()
32
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +000033# Set the depends list as a variable so that it can grow conditionally.
Alp Toker5e9ed7c2013-10-28 23:37:49 +000034# NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
NAKAMURA Takumib39be042013-07-08 08:44:30 +000035set(LLVM_TEST_DEPENDS
NAKAMURA Takumib39be042013-07-08 08:44:30 +000036 BugpointPasses
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000037 FileCheck
NAKAMURA Takumib39be042013-07-08 08:44:30 +000038 LLVMHello
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000039 UnitTests
NAKAMURA Takumiafd8d162014-03-04 16:13:30 +000040 bugpoint
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000041 count
NAKAMURA Takumib39be042013-07-08 08:44:30 +000042 llc
43 lli
Andrew Kaylorc4832372013-10-02 22:27:23 +000044 lli-child-target
NAKAMURA Takumib39be042013-07-08 08:44:30 +000045 llvm-ar
46 llvm-as
47 llvm-bcanalyzer
NAKAMURA Takumi3f1f0c92013-10-23 17:57:04 +000048 llvm-c-test
Peter Collingbourne5a0a2e62016-11-29 20:43:47 +000049 llvm-cat
Mitch Phillips41450d52017-11-01 00:49:45 +000050 llvm-cfi-verify
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000051 llvm-config
NAKAMURA Takumifed0ccf2013-07-08 08:44:36 +000052 llvm-cov
Zachary Turner0fc009b2017-04-21 20:45:11 +000053 llvm-cvtres
Nico Weber514837c2018-04-23 14:28:49 +000054 llvm-cxxdump
55 llvm-cxxfilt
NAKAMURA Takumib39be042013-07-08 08:44:30 +000056 llvm-diff
57 llvm-dis
Martell Malone1079ef82017-07-18 21:26:38 +000058 llvm-dlltool
Jonas Devliegherea6ef1ab2018-03-18 11:38:41 +000059 dsymutil
NAKAMURA Takumib39be042013-07-08 08:44:30 +000060 llvm-dwarfdump
David Blaikie32aa0492015-12-01 00:57:05 +000061 llvm-dwp
Peter Collingbourne244ecf52014-10-23 02:33:23 +000062 llvm-extract
Hal Finkelfaea8972017-09-03 03:00:27 +000063 llvm-isel-fuzzer
Peter Collingbournebc051632015-06-09 21:50:22 +000064 llvm-lib
NAKAMURA Takumie9b89b42012-11-01 02:13:50 +000065 llvm-link
Teresa Johnson9ba95f92016-08-11 14:58:12 +000066 llvm-lto2
NAKAMURA Takumie9b89b42012-11-01 02:13:50 +000067 llvm-mc
David Zarzycki9003b3b2018-03-08 14:43:24 +000068 llvm-mca
Peter Collingbournecb6b9202016-11-29 21:54:33 +000069 llvm-modextract
Eric Beckmannc35c34a2017-07-20 22:13:16 +000070 llvm-mt
NAKAMURA Takumie9b89b42012-11-01 02:13:50 +000071 llvm-nm
Petr Hosek05a04cb2017-08-01 00:33:58 +000072 llvm-objcopy
NAKAMURA Takumie9b89b42012-11-01 02:13:50 +000073 llvm-objdump
Nico Weber514837c2018-04-23 14:28:49 +000074 llvm-opt-fuzzer
Hal Finkel52031b72016-10-05 22:10:35 +000075 llvm-opt-report
Zachary Turnerbd336e42017-06-09 20:46:17 +000076 llvm-pdbutil
Duncan P. N. Exon Smith846a6272014-02-17 23:22:49 +000077 llvm-profdata
NAKAMURA Takumi1486e3a2014-12-04 01:34:11 +000078 llvm-ranlib
NAKAMURA Takumi3f36aae2017-07-25 01:44:38 +000079 llvm-rc
NAKAMURA Takumie9b89b42012-11-01 02:13:50 +000080 llvm-readobj
Petr Hosekbf515502017-07-19 02:09:37 +000081 llvm-readelf
NAKAMURA Takumi8653bcf2013-01-25 23:24:07 +000082 llvm-rtdyld
NAKAMURA Takumi0e86e692014-12-04 01:27:53 +000083 llvm-size
Peter Collingbourne1dc6a8d2015-08-21 02:48:20 +000084 llvm-split
Saleem Abdulrasoolc1f8e1f2016-11-12 03:45:21 +000085 llvm-strings
Alexander Shaposhnikova5be91f2018-05-07 22:00:59 +000086 llvm-strip
Evgeniy Stepanov3aa627b2013-03-13 09:35:18 +000087 llvm-symbolizer
NAKAMURA Takumi3189afc2014-01-18 19:01:08 +000088 llvm-tblgen
Dean Michael Berris8b327a12016-10-26 04:16:05 +000089 llvm-xray
NAKAMURA Takumib39be042013-07-08 08:44:30 +000090 not
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000091 obj2yaml
92 opt
93 sancov
Peter Collingbournef0f5e872016-01-16 00:31:11 +000094 sanstats
Mike Aizatsky14a06ac2015-11-12 19:34:21 +000095 verify-uselistorder
NAKAMURA Takumi723b4492015-05-07 22:24:58 +000096 yaml-bench
NAKAMURA Takumib39be042013-07-08 08:44:30 +000097 yaml2obj
NAKAMURA Takumib39be042013-07-08 08:44:30 +000098 )
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +000099
Pavel Labathec1c01e2016-06-02 16:29:07 +0000100if(TARGET llvm-lto)
101 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto)
102endif()
103
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +0000104# If Intel JIT events are supported, depend on a tool that tests the listener.
105if( LLVM_USE_INTEL_JITEVENTS )
106 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)
107endif( LLVM_USE_INTEL_JITEVENTS )
108
Peter Collingbourned0ec5ab2014-09-10 22:20:49 +0000109if(TARGET LLVMgold)
110 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)
111endif()
112
Peter Collingbournedfc98c22014-10-23 19:51:40 +0000113if(TARGET llvm-go)
114 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-go)
115endif()
116
Pavel Labathec1c01e2016-06-02 16:29:07 +0000117if(TARGET LTO)
Peter Collingbournebbdc26b2015-03-19 23:55:38 +0000118 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)
119endif()
120
Michal Gornya583be42016-11-12 14:58:30 +0000121if(LLVM_BUILD_EXAMPLES)
122 list(APPEND LLVM_TEST_DEPENDS
123 Kaleidoscope-Ch3
124 Kaleidoscope-Ch4
125 Kaleidoscope-Ch5
126 Kaleidoscope-Ch6
127 Kaleidoscope-Ch7
128 )
129endif()
130
Peter Zotovb20073c2014-12-01 19:50:23 +0000131if(TARGET ocaml_llvm)
Michal Gornya583be42016-11-12 14:58:30 +0000132 # Clear all non-OCaml cross-target dependencies when building out-of-tree.
133 if(LLVM_OCAML_OUT_OF_TREE)
134 set(LLVM_TEST_DEPENDS)
135 endif()
136
Peter Zotovb20073c2014-12-01 19:50:23 +0000137 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}
138 ocaml_llvm
139 ocaml_llvm_all_backends
140 ocaml_llvm_analysis
141 ocaml_llvm_bitreader
142 ocaml_llvm_bitwriter
143 ocaml_llvm_executionengine
144 ocaml_llvm_irreader
145 ocaml_llvm_linker
146 ocaml_llvm_target
147 ocaml_llvm_ipo
148 ocaml_llvm_passmgr_builder
149 ocaml_llvm_scalar_opts
Peter Zotov0d040f62014-12-01 19:50:39 +0000150 ocaml_llvm_transform_utils
Peter Zotovb20073c2014-12-01 19:50:23 +0000151 ocaml_llvm_vectorize
152 )
153endif()
154
Chris Bieneman2d5e0772016-03-02 00:27:14 +0000155add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS})
Aaron Ballman01a98542016-04-12 15:09:14 +0000156set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests")
Chris Bieneman2d5e0772016-03-02 00:27:14 +0000157
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +0000158add_lit_testsuite(check-llvm "Running the LLVM regression tests"
159 ${CMAKE_CURRENT_BINARY_DIR}
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +0000160 DEPENDS ${LLVM_TEST_DEPENDS}
Chandler Carruthaa324c92012-06-27 09:44:16 +0000161 )
Chandler Carruth69ce6652012-06-30 10:14:14 +0000162set_target_properties(check-llvm PROPERTIES FOLDER "Tests")
Chandler Carruthaa324c92012-06-27 09:44:16 +0000163
Justin Bogner35b4b1a2015-03-25 08:07:47 +0000164add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}
Justin Bogner35b4b1a2015-03-25 08:07:47 +0000165 DEPENDS ${LLVM_TEST_DEPENDS}
166 )
167
Chandler Carruthaa324c92012-06-27 09:44:16 +0000168# Setup a legacy alias for 'check-llvm'. This will likely change to be an
169# alias for 'check-all' at some point in the future.
Chandler Carrutha7f1f352012-07-02 21:45:22 +0000170add_custom_target(check)
171add_dependencies(check check-llvm)
Chandler Carruth69ce6652012-06-30 10:14:14 +0000172set_target_properties(check PROPERTIES FOLDER "Tests")