brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 3f932b8 Raw
118 lines · plain
1# Cross project tests, for tests that require access to multiple projects across2# LLVM (e.g. clang, lld and lldb).3# The subset inside debuginfo-tests invoke clang to generate programs with4# various types of debug info, and then run those programs under a debugger5# such as GDB or LLDB to verify the results.6set(LLVM_SUBPROJECT_TITLE "Cross-Project")7 8find_package(Python3 COMPONENTS Interpreter)9 10add_llvm_executable(check-gdb-llvm-support11        debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.cpp12)13target_link_libraries(check-gdb-llvm-support PRIVATE LLVMSupport)14 15set(CROSS_PROJECT_TESTS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})16set(CROSS_PROJECT_TESTS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})17 18set(CROSS_PROJECT_TEST_DEPS19  FileCheck20  check-gdb-llvm-support21  count22  llvm-ar23  llvm-config24  llvm-dis25  llvm-dwarfdump26  llvm-objdump27  not28  obj2yaml29  split-file30  )31 32if ("clang" IN_LIST LLVM_ENABLE_PROJECTS)33  list(APPEND CROSS_PROJECT_TEST_DEPS clang)34endif()35 36if ("mlir" IN_LIST LLVM_ENABLE_PROJECTS)37  add_llvm_executable(check-gdb-mlir-support38        debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp39  )40  target_include_directories(check-gdb-mlir-support PRIVATE41                               ${LLVM_EXTERNAL_MLIR_SOURCE_DIR}/include42                               ${LLVM_BINARY_DIR}/tools/mlir/include)43  target_link_libraries(check-gdb-mlir-support PRIVATE MLIRIR)44  list(APPEND CROSS_PROJECT_TEST_DEPS check-gdb-mlir-support)45  set(MLIR_SOURCE_DIR  ${LLVM_EXTERNAL_MLIR_SOURCE_DIR})46endif()47 48if("compiler-rt" IN_LIST LLVM_ENABLE_PROJECTS)49  # llgdb-tests/asan.c and other asan* files.50  if(TARGET asan)51    list(APPEND CROSS_PROJECT_TEST_DEPS asan)52  endif()53  # llgdb-tests/safestack.c54  if(TARGET safestack)55    list(APPEND CROSS_PROJECT_TEST_DEPS safestack)56  endif()57endif()58# Many dexter tests depend on lldb.59if("lldb" IN_LIST LLVM_ENABLE_PROJECTS)60  list(APPEND CROSS_PROJECT_TEST_DEPS lldb lldb-server)61endif()62 63if ("lld" IN_LIST LLVM_ENABLE_PROJECTS)64  list(APPEND CROSS_PROJECT_TEST_DEPS lld)65endif()66 67configure_lit_site_cfg(68  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in69  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py70  MAIN_CONFIG71  ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py72  )73 74add_lit_testsuite(check-cross-project "Running cross-project tests"75  ${CMAKE_CURRENT_BINARY_DIR}76  DEPENDS ${CROSS_PROJECT_TEST_DEPS}77  )78 79# Add alias for debuginfo test subset.80add_lit_testsuite(check-debuginfo "Running debuginfo tests"81  ${CMAKE_CURRENT_BINARY_DIR}/debuginfo-tests82  EXCLUDE_FROM_CHECK_ALL83  DEPENDS ${CROSS_PROJECT_TEST_DEPS}84  )85 86# Add alias for intrinsic header test subset.87add_lit_testsuite(check-intrinsic-headers "Running intrinsic header tests"88  ${CMAKE_CURRENT_BINARY_DIR}/intrinsic-header-tests89  EXCLUDE_FROM_CHECK_ALL90  DEPENDS ${CROSS_PROJECT_TEST_DEPS}91  )92 93# AMDGPU tests.94add_lit_testsuite(check-cross-amdgpu "Running AMDGPU cross-project tests"95  ${CMAKE_CURRENT_BINARY_DIR}/amdgpu96  EXCLUDE_FROM_CHECK_ALL97  DEPENDS clang98  )99 100# DTLTO tests.101add_lit_testsuite(check-cross-dtlto "Running DTLTO cross-project tests"102  ${CMAKE_CURRENT_BINARY_DIR}/dtlto103  EXCLUDE_FROM_CHECK_ALL104  DEPENDS ${CROSS_PROJECT_TEST_DEPS}105  )106 107# veclib tests.108add_lit_testsuite(check-cross-veclib "Running veclib cross-project tests"109  ${CMAKE_CURRENT_BINARY_DIR}/veclib110  EXCLUDE_FROM_CHECK_ALL111  DEPENDS ${CROSS_PROJECT_TEST_DEPS}112  )113 114# Add check-cross-project-* targets.115add_lit_testsuites(CROSS_PROJECT ${CMAKE_CURRENT_SOURCE_DIR}116  DEPENDS ${CROSS_PROJECT_TEST_DEPS}117  )118