llvm_canonicalize_cmake_booleans( BUILD_SHARED_LIBS HAVE_OCAMLOPT LLVM_ENABLE_DIA_SDK LLVM_ENABLE_FFI LLVM_ENABLE_THREADS LLVM_ENABLE_CURL LLVM_ENABLE_HTTPLIB LLVM_ENABLE_ZLIB LLVM_ENABLE_ZSTD LLVM_ENABLE_LIBXML2 LLVM_LINK_LLVM_DYLIB LLVM_TOOL_LTO_BUILD LLVM_USE_INTEL_JITEVENTS LLVM_BUILD_EXAMPLES LLVM_ENABLE_PLUGINS LLVM_BYE_LINK_INTO_TOOLS LLVM_EXAMPLEIRTRANSFORMS_LINK_INTO_TOOLS LLVM_HAVE_TF_AOT LLVM_HAVE_TFLITE LLVM_INLINER_MODEL_AUTOGENERATED LLVM_RAEVICT_MODEL_AUTOGENERATED LLVM_ENABLE_EXPENSIVE_CHECKS LLVM_ENABLE_REVERSE_ITERATION LLVM_INCLUDE_DXIL_TESTS LLVM_TOOL_LLVM_DRIVER_BUILD LLVM_INCLUDE_SPIRV_TOOLS_TESTS ) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py PATHS "CMAKE_OSX_SYSROOT" "LLVM_SOURCE_DIR" "LLVM_BINARY_DIR" "LLVM_TOOLS_DIR" "LLVM_LIBS_DIR" "SHLIBDIR" ) configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py PATHS "LLVM_SOURCE_DIR" "LLVM_BINARY_DIR" "LLVM_TOOLS_DIR" "SHLIBDIR" ) # Set the depends list as a variable so that it can grow conditionally. # NOTE: Sync the substitutions in test/lit.cfg when adding to this list. set(LLVM_TEST_DEPENDS BugpointPasses FileCheck LLVMHello LLVMWindowsDriver UnitTests bugpoint count llc lli lli-child-target llvm-addr2line llvm-ar llvm-as llvm-bcanalyzer llvm-bitcode-strip llvm-c-test llvm-cat llvm-cfi-verify llvm-config llvm-cov llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-debuginfo-analyzer llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool dsymutil llvm-dwarfdump llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract llvm-gsymutil llvm-isel-fuzzer llvm-ifs llvm-install-name-tool llvm-jitlink llvm-lib llvm-libtool-darwin llvm-link llvm-lipo llvm-locstats llvm-lto2 llvm-mc llvm-mca llvm-ml llvm-modextract llvm-mt llvm-nm llvm-objcopy llvm-objdump llvm-opt-fuzzer llvm-opt-report llvm-otool llvm-pdbutil llvm-profdata llvm-profgen llvm-ranlib llvm-rc llvm-readobj llvm-readelf llvm-reduce llvm-remarkutil llvm-rtdyld llvm-sim llvm-size llvm-split llvm-stress llvm-strings llvm-strip llvm-symbolizer llvm-tblgen llvm-readtapi llvm-tli-checker llvm-undname llvm-windres llvm-xray not obj2yaml opt sancov sanstats split-file verify-uselistorder yaml-bench yaml2obj ) if(TARGET llvm-lto) set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-lto) endif() if(TARGET llvm-driver) set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-driver) endif() # If Intel JIT events are supported, depend on a tool that tests the listener. if( LLVM_USE_INTEL_JITEVENTS ) set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} llvm-jitlistener) endif( LLVM_USE_INTEL_JITEVENTS ) if(TARGET LLVMgold) set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LLVMgold) endif() if(TARGET LTO) set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} LTO) endif() if(LLVM_BUILD_EXAMPLES) list(APPEND LLVM_TEST_DEPENDS Kaleidoscope-Ch3 Kaleidoscope-Ch4 Kaleidoscope-Ch5 Kaleidoscope-Ch6 Kaleidoscope-Ch7 LLJITWithThinLTOSummaries OrcV2CBindingsBasicUsage OrcV2CBindingsAddObjectFile OrcV2CBindingsRemovableCode OrcV2CBindingsLazy OrcV2CBindingsVeryLazy ) if(CMAKE_HOST_UNIX) list(APPEND LLVM_TEST_DEPENDS LLJITWithRemoteDebugging ) endif() if (NOT WIN32) list(APPEND LLVM_TEST_DEPENDS Bye ExampleIRTransforms ) endif() endif() if(TARGET ocaml_llvm) # Clear all non-OCaml cross-target dependencies when building out-of-tree. if(LLVM_OCAML_OUT_OF_TREE) set(LLVM_TEST_DEPENDS) endif() set(LLVM_TEST_DEPENDS ${LLVM_TEST_DEPENDS} ocaml_llvm ocaml_llvm_all_backends ocaml_llvm_analysis ocaml_llvm_bitreader ocaml_llvm_bitwriter ocaml_llvm_executionengine ocaml_llvm_irreader ocaml_llvm_linker ocaml_llvm_passbuilder ocaml_llvm_target ocaml_llvm_transform_utils ) endif() if (LLVM_INCLUDE_DXIL_TESTS) list(APPEND LLVM_TEST_DEPENDS dxil-dis) endif() if(LLVM_ENABLE_HTTPLIB) list(APPEND LLVM_TEST_DEPENDS llvm-debuginfod) endif() if (LLVM_INCLUDE_SPIRV_TOOLS_TESTS) list(APPEND LLVM_TEST_DEPENDS spirv-dis) list(APPEND LLVM_TEST_DEPENDS spirv-val) endif() add_custom_target(llvm-test-depends DEPENDS ${LLVM_TEST_DEPENDS}) set_target_properties(llvm-test-depends PROPERTIES FOLDER "Tests") if(LLVM_BUILD_TOOLS) set(exclude_from_check_all "") else() set(exclude_from_check_all "EXCLUDE_FROM_CHECK_ALL") endif() add_lit_testsuite(check-llvm "Running the LLVM regression tests" ${CMAKE_CURRENT_BINARY_DIR} ${exclude_from_check_all} DEPENDS ${LLVM_TEST_DEPENDS} ) set_target_properties(check-llvm PROPERTIES FOLDER "Tests") add_lit_testsuites(LLVM ${CMAKE_CURRENT_SOURCE_DIR} ${exclude_from_check_all} DEPENDS ${LLVM_TEST_DEPENDS} FOLDER "Tests/Subdirectories" ) # Setup an alias for 'check-all'. add_custom_target(check) add_dependencies(check check-all) set_target_properties(check PROPERTIES FOLDER "Tests")