285 lines · plain
1llvm_canonicalize_cmake_booleans(2 BUILD_SHARED_LIBS3 HAVE_OCAMLOPT4 ENABLE_BACKTRACES5 LLVM_ENABLE_DIA_SDK6 LLVM_ENABLE_FFI7 LLVM_ENABLE_THREADS8 LLVM_ENABLE_CURL9 LLVM_ENABLE_HTTPLIB10 LLVM_ENABLE_ZLIB11 LLVM_ENABLE_ZSTD12 LLVM_ENABLE_LIBXML213 LLVM_LINK_LLVM_DYLIB14 LLVM_TOOL_LTO_BUILD15 LLVM_USE_INTEL_JITEVENTS16 LLVM_BUILD_EXAMPLES17 LLVM_ENABLE_PLUGINS18 LLVM_BYE_LINK_INTO_TOOLS19 LLVM_EXAMPLEIRTRANSFORMS_LINK_INTO_TOOLS20 LLVM_HAVE_TF_AOT21 LLVM_HAVE_TFLITE22 LLVM_ENABLE_PROFCHECK23 LLVM_INLINER_MODEL_AUTOGENERATED24 LLVM_RAEVICT_MODEL_AUTOGENERATED25 LLVM_ENABLE_EXPENSIVE_CHECKS26 LLVM_ENABLE_REVERSE_ITERATION27 LLVM_INCLUDE_DXIL_TESTS28 LLVM_TOOL_LLVM_DRIVER_BUILD29 LLVM_INCLUDE_SPIRV_SIMULATOR_TESTS30 LLVM_INCLUDE_SPIRV_TOOLS_TESTS31 LLVM_APPEND_VC_REV32 LLVM_HAS_LOGF12833 LLVM_ENABLE_ONDISK_CAS34 )35 36configure_lit_site_cfg(37 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in38 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py39 MAIN_CONFIG40 ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py41 PATHS42 "CMAKE_OSX_SYSROOT"43 "LLVM_SOURCE_DIR"44 "LLVM_BINARY_DIR"45 "LLVM_TOOLS_DIR"46 "LLVM_LIBS_DIR"47 "SHLIBDIR"48 )49configure_lit_site_cfg(50 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in51 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py52 MAIN_CONFIG53 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py54 PATHS55 "LLVM_SOURCE_DIR"56 "LLVM_BINARY_DIR"57 "LLVM_TOOLS_DIR"58 "SHLIBDIR"59 )60 61# Set the depends list as a variable so that it can grow conditionally.62# NOTE: Sync the substitutions in test/lit.cfg when adding to this list.63 64set(LLVM_TEST_DEPENDS_COMMON65 FileCheck66 count67 llvm-config68 not69 )70 71set(LLVM_TEST_DEPENDS72 ${LLVM_TEST_DEPENDS_COMMON}73 BugpointPasses74 LLVMWindowsDriver75 bugpoint76 llc77 lli78 lli-child-target79 llvm-addr2line80 llvm-ar81 llvm-as82 llvm-bcanalyzer83 llvm-bitcode-strip84 llvm-c-test85 llvm-cas86 llvm-cat87 llvm-cfi-verify88 llvm-cgdata89 llvm-cov90 llvm-ctxprof-util91 llvm-cvtres92 llvm-cxxdump93 llvm-cxxfilt94 llvm-cxxmap95 llvm-debuginfo-analyzer96 llvm-debuginfod-find97 llvm-diff98 llvm-dis99 llvm-dlltool100 dsymutil101 llvm-dwarfdump102 llvm-dwarfutil103 llvm-dwp104 llvm-exegesis105 llvm-extract106 llvm-gsymutil107 llvm-ir2vec108 llvm-isel-fuzzer109 llvm-ifs110 llvm-install-name-tool111 llvm-jitlink112 llvm-lib113 llvm-libtool-darwin114 llvm-link115 llvm-lipo116 llvm-locstats117 llvm-lto2118 llvm-mc119 llvm-mca120 llvm-ml121 llvm-ml64122 llvm-modextract123 llvm-nm124 llvm-objcopy125 llvm-objdump126 llvm-opt-fuzzer127 llvm-opt-report128 llvm-offload-binary129 llvm-offload-wrapper130 llvm-otool131 llvm-pdbutil132 llvm-profdata133 llvm-profgen134 llvm-ranlib135 llvm-rc136 llvm-readobj137 llvm-readelf138 llvm-reduce139 llvm-remarkutil140 llvm-rtdyld141 llvm-sim142 llvm-size143 llvm-split144 llvm-stress145 llvm-strings146 llvm-strip147 llvm-symbolizer148 llvm-tblgen149 llvm-readtapi150 llvm-tli-checker151 llvm-undname152 llvm-windres153 llvm-xray154 obj2yaml155 opt156 sancov157 sanstats158 split-file159 verify-uselistorder160 yaml-bench161 yaml2obj162 )163 164if(TARGET llvm-lto)165 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto)166endif()167 168if(TARGET llvm-driver)169 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-driver)170endif()171 172# If Intel JIT events are supported, depend on a tool that tests the listener.173if( LLVM_USE_INTEL_JITEVENTS )174 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener)175endif( LLVM_USE_INTEL_JITEVENTS )176 177if(TARGET LLVMgold)178 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold)179endif()180 181if(TARGET LTO)182 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO)183endif()184 185if (TARGET llvm-mt)186 list(APPEND LLVM_TEST_DEPENDS llvm-mt)187endif ()188 189if(LLVM_BUILD_EXAMPLES)190 list(APPEND LLVM_TEST_DEPENDS191 Kaleidoscope-Ch3192 Kaleidoscope-Ch4193 Kaleidoscope-Ch5194 Kaleidoscope-Ch6195 Kaleidoscope-Ch7196 LLJITWithThinLTOSummaries197 OrcV2CBindingsBasicUsage198 OrcV2CBindingsAddObjectFile199 OrcV2CBindingsRemovableCode200 OrcV2CBindingsLazy201 OrcV2CBindingsVeryLazy202 )203 if(CMAKE_HOST_UNIX)204 list(APPEND LLVM_TEST_DEPENDS205 LLJITWithRemoteDebugging206 )207 endif()208 if (NOT WIN32)209 list(APPEND LLVM_TEST_DEPENDS210 Bye211 ExampleIRTransforms212 )213 endif()214endif()215 216if(TARGET ocaml_llvm)217 # Clear all non-OCaml cross-target dependencies when building out-of-tree.218 if(LLVM_OCAML_OUT_OF_TREE)219 set(LLVM_TEST_DEPENDS)220 endif()221 222 set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS}223 ocaml_llvm224 ocaml_llvm_all_backends225 ocaml_llvm_analysis226 ocaml_llvm_bitreader227 ocaml_llvm_bitwriter228 ocaml_llvm_debuginfo229 ocaml_llvm_executionengine230 ocaml_llvm_irreader231 ocaml_llvm_linker232 ocaml_llvm_passbuilder233 ocaml_llvm_target234 ocaml_llvm_transform_utils235 )236endif()237 238if (LLVM_INCLUDE_DXIL_TESTS)239 list(APPEND LLVM_TEST_DEPENDS dxil-dis)240endif()241 242if(LLVM_ENABLE_HTTPLIB)243 list(APPEND LLVM_TEST_DEPENDS llvm-debuginfod)244endif()245 246if (LLVM_INCLUDE_SPIRV_TOOLS_TESTS)247 list(APPEND LLVM_TEST_DEPENDS spirv-dis)248 list(APPEND LLVM_TEST_DEPENDS spirv-val)249 list(APPEND LLVM_TEST_DEPENDS spirv-as)250 list(APPEND LLVM_TEST_DEPENDS spirv-link)251endif()252 253add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS} UnitTests)254set_target_properties(llvm-test-depends PROPERTIES FOLDER "LLVM/Tests")255 256if(LLVM_BUILD_TOOLS)257 set(exclude_from_check_all "")258else()259 set(exclude_from_check_all "EXCLUDE_FROM_CHECK_ALL")260endif()261 262add_lit_testsuite(check-llvm "Running the LLVM regression tests"263 ${CMAKE_CURRENT_BINARY_DIR}264 ${exclude_from_check_all}265 DEPENDS ${LLVM_TEST_DEPENDS} UnitTests266 )267set_target_properties(check-llvm PROPERTIES FOLDER "LLVM/Tests")268 269# Note, exclude TableGen and FileCheck directories as we define them with a270# reduced set of dependencies in their individual CMakeLists.txt271add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR}272 ${exclude_from_check_all}273 DEPENDS ${LLVM_TEST_DEPENDS}274 FOLDER "Tests/Subdirectories"275 SKIP "^FileCheck" "^TableGen" "^Unit"276 )277add_subdirectory(FileCheck)278add_subdirectory(TableGen)279add_subdirectory(Unit)280 281# Setup an alias for 'check-all'.282add_custom_target(check)283add_dependencies(check check-all)284set_target_properties(check PROPERTIES FOLDER "LLVM/Tests")285