set(CFI_LIT_TEST_MODE Standalone)
configure_lit_site_cfg(
  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  ${CMAKE_CURRENT_BINARY_DIR}/Standalone/lit.site.cfg
  )

set(CFI_LIT_TEST_MODE Devirt)
configure_lit_site_cfg(
  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  ${CMAKE_CURRENT_BINARY_DIR}/Devirt/lit.site.cfg
  )

set(CFI_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
if(NOT COMPILER_RT_STANDALONE_BUILD)
  list(APPEND CFI_TEST_DEPS
    opt
    ubsan
    stats
    sanstats
  )
  if(COMPILER_RT_HAS_CFI)
    list(APPEND CFI_TEST_DEPS cfi)
  endif()
  if(LLVM_ENABLE_PIC AND LLVM_BINUTILS_INCDIR)
    list(APPEND CFI_TEST_DEPS
      LLVMgold
    )
  endif()
  if(APPLE)
    list(APPEND CFI_TEST_DEPS
      LTO
    )
  endif()
  if(WIN32 AND COMPILER_RT_HAS_LLD_SOURCES)
    list(APPEND CFI_TEST_DEPS
      lld
    )
  endif()
endif()

add_lit_testsuite(check-cfi "Running the cfi regression tests"
  ${CMAKE_CURRENT_BINARY_DIR}/Standalone
  ${CMAKE_CURRENT_BINARY_DIR}/Devirt
  DEPENDS ${CFI_TEST_DEPS})

add_lit_target(check-cfi-and-supported "Running the cfi regression tests"
  ${CMAKE_CURRENT_BINARY_DIR}/Standalone
  ${CMAKE_CURRENT_BINARY_DIR}/Devirt
  PARAMS check_supported=1
  DEPENDS ${CFI_TEST_DEPS})

set_target_properties(check-cfi PROPERTIES FOLDER "Compiler-RT Misc")
set_target_properties(check-cfi-and-supported PROPERTIES FOLDER "Compiler-RT Misc")
