1llvm_canonicalize_cmake_booleans( 2 BUILD_SHARED_LIBS 3 HAVE_OCAMLOPT 4 ENABLE_BACKTRACES 5 LLVM_ENABLE_DIA_SDK 6 LLVM_ENABLE_FFI 7 LLVM_ENABLE_THREADS 8 LLVM_ENABLE_CURL 9 LLVM_ENABLE_HTTPLIB 10 LLVM_ENABLE_ZLIB 11 LLVM_ENABLE_ZSTD 12 LLVM_ENABLE_LIBXML2 13 LLVM_LINK_LLVM_DYLIB 14 LLVM_TOOL_LTO_BUILD 15 LLVM_USE_INTEL_JITEVENTS 16 LLVM_BUILD_EXAMPLES 17 LLVM_ENABLE_PLUGINS 18 LLVM_BYE_LINK_INTO_TOOLS 19 LLVM_EXAMPLEIRTRANSFORMS_LINK_INTO_TOOLS 20 LLVM_HAVE_TF_AOT 21 LLVM_HAVE_TFLITE 22 LLVM_INLINER_MODEL_AUTOGENERATED 23 LLVM_RAEVICT_MODEL_AUTOGENERATED 24 LLVM_ENABLE_EXPENSIVE_CHECKS 25 LLVM_ENABLE_REVERSE_ITERATION 26 LLVM_INCLUDE_DXIL_TESTS 27 LLVM_TOOL_LLVM_DRIVER_BUILD 28 LLVM_INCLUDE_SPIRV_SIMULATOR_TESTS 29 LLVM_INCLUDE_SPIRV_TOOLS_TESTS 30 LLVM_APPEND_VC_REV 31 LLVM_HAS_LOGF128 32 ) 33 34configure_lit_site_cfg( 35 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in 36 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py 37 MAIN_CONFIG 38 ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py 39 PATHS 40 "CMAKE_OSX_SYSROOT" 41 "LLVM_SOURCE_DIR" 42 "LLVM_BINARY_DIR" 43 "LLVM_TOOLS_DIR" 44 "LLVM_LIBS_DIR" 45 "SHLIBDIR" 46 ) 47configure_lit_site_cfg( 48 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in 49 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py 50 MAIN_CONFIG 51 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py 52 PATHS 53 "LLVM_SOURCE_DIR" 54 "LLVM_BINARY_DIR" 55 "LLVM_TOOLS_DIR" 56 "SHLIBDIR" 57 ) 58 59# Set the depends list as a variable so that it can grow conditionally. 60# NOTE: Sync the substitutions in test/lit.cfg when adding to this list. 61set(LLVM_TEST_DEPENDS 62 BugpointPasses 63 FileCheck 64 LLVMWindowsDriver 65 UnitTests 66 bugpoint 67 count 68 llc 69 lli 70 lli-child-target 71 llvm-addr2line 72 llvm-ar 73 llvm-as 74 llvm-bcanalyzer 75 llvm-bitcode-strip 76 llvm-c-test 77 llvm-cat 78 llvm-cfi-verify 79 llvm-cgdata 80 llvm-config 81 llvm-cov 82 llvm-ctxprof-util 83 llvm-cvtres 84 llvm-cxxdump 85 llvm-cxxfilt 86 llvm-cxxmap 87 llvm-debuginfo-analyzer 88 llvm-debuginfod-find 89 llvm-diff 90 llvm-dis 91 llvm-dlltool 92 dsymutil 93 llvm-dwarfdump 94 llvm-dwarfutil 95 llvm-dwp 96 llvm-exegesis 97 llvm-extract 98 llvm-gsymutil 99 llvm-isel-fuzzer 100 llvm-ifs 101 llvm-install-name-tool 102 llvm-jitlink 103 llvm-lib 104 llvm-libtool-darwin 105 llvm-link 106 llvm-lipo 107 llvm-locstats 108 llvm-lto2 109 llvm-mc 110 llvm-mca 111 llvm-ml 112 llvm-modextract 113 llvm-mt 114 llvm-nm 115 llvm-objcopy 116 llvm-objdump 117 llvm-opt-fuzzer 118 llvm-opt-report 119 llvm-otool 120 llvm-pdbutil 121 llvm-profdata 122 llvm-profgen 123 llvm-ranlib 124 llvm-rc 125 llvm-readobj 126 llvm-readelf 127 llvm-reduce 128 llvm-remarkutil 129 llvm-rtdyld 130 llvm-sim 131 llvm-size 132 llvm-split 133 llvm-stress 134 llvm-strings 135 llvm-strip 136 llvm-symbolizer 137 llvm-tblgen 138 llvm-readtapi 139 llvm-tli-checker 140 llvm-undname 141 llvm-windres 142 llvm-xray 143 not 144 obj2yaml 145 opt 146 sancov 147 sanstats 148 split-file 149 verify-uselistorder 150 yaml-bench 151 yaml2obj 152 ) 153 154if(TARGET llvm-lto) 155 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto) 156endif() 157 158if(TARGET llvm-driver) 159 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-driver) 160endif() 161 162# If Intel JIT events are supported, depend on a tool that tests the listener. 163if( LLVM_USE_INTEL_JITEVENTS ) 164 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener) 165endif( LLVM_USE_INTEL_JITEVENTS ) 166 167if(TARGET LLVMgold) 168 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold) 169endif() 170 171if(TARGET LTO) 172 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO) 173endif() 174 175if(LLVM_BUILD_EXAMPLES) 176 list(APPEND LLVM_TEST_DEPENDS 177 Kaleidoscope-Ch3 178 Kaleidoscope-Ch4 179 Kaleidoscope-Ch5 180 Kaleidoscope-Ch6 181 Kaleidoscope-Ch7 182 LLJITWithThinLTOSummaries 183 OrcV2CBindingsBasicUsage 184 OrcV2CBindingsAddObjectFile 185 OrcV2CBindingsRemovableCode 186 OrcV2CBindingsLazy 187 OrcV2CBindingsVeryLazy 188 ) 189 if(CMAKE_HOST_UNIX) 190 list(APPEND LLVM_TEST_DEPENDS 191 LLJITWithRemoteDebugging 192 ) 193 endif() 194 if (NOT WIN32) 195 list(APPEND LLVM_TEST_DEPENDS 196 Bye 197 ExampleIRTransforms 198 ) 199 endif() 200endif() 201 202if(TARGET ocaml_llvm) 203 # Clear all non-OCaml cross-target dependencies when building out-of-tree. 204 if(LLVM_OCAML_OUT_OF_TREE) 205 set(LLVM_TEST_DEPENDS) 206 endif() 207 208 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} 209 ocaml_llvm 210 ocaml_llvm_all_backends 211 ocaml_llvm_analysis 212 ocaml_llvm_bitreader 213 ocaml_llvm_bitwriter 214 ocaml_llvm_executionengine 215 ocaml_llvm_irreader 216 ocaml_llvm_linker 217 ocaml_llvm_passbuilder 218 ocaml_llvm_target 219 ocaml_llvm_transform_utils 220 ) 221endif() 222 223if (LLVM_INCLUDE_DXIL_TESTS) 224 list(APPEND LLVM_TEST_DEPENDS dxil-dis) 225endif() 226 227if(LLVM_ENABLE_HTTPLIB) 228 list(APPEND LLVM_TEST_DEPENDS llvm-debuginfod) 229endif() 230 231if (LLVM_INCLUDE_SPIRV_TOOLS_TESTS) 232 list(APPEND LLVM_TEST_DEPENDS spirv-dis) 233 list(APPEND LLVM_TEST_DEPENDS spirv-val) 234 list(APPEND LLVM_TEST_DEPENDS spirv-as) 235endif() 236 237add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS}) 238set_target_properties(llvm-test-depends PROPERTIES FOLDER "LLVM/Tests") 239 240if(LLVM_BUILD_TOOLS) 241 set(exclude_from_check_all "") 242else() 243 set(exclude_from_check_all "EXCLUDE_FROM_CHECK_ALL") 244endif() 245 246add_lit_testsuite(check-llvm "Running the LLVM regression tests" 247 ${CMAKE_CURRENT_BINARY_DIR} 248 ${exclude_from_check_all} 249 DEPENDS ${LLVM_TEST_DEPENDS} 250 ) 251set_target_properties(check-llvm PROPERTIES FOLDER "LLVM/Tests") 252 253add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR} 254 ${exclude_from_check_all} 255 DEPENDS ${LLVM_TEST_DEPENDS} 256 FOLDER "Tests/Subdirectories" 257 ) 258 259# Setup an alias for 'check-all'. 260add_custom_target(check) 261add_dependencies(check check-all) 262set_target_properties(check PROPERTIES FOLDER "LLVM/Tests") 263