macro(pythonize_bool var)
  if (${var})
    set(${var} True)
  else()
    set(${var} False)
  endif()
endmacro()

pythonize_bool(LIBCXXABI_ENABLE_SHARED)
pythonize_bool(LIBCXXABI_ENABLE_THREADS)
pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)

set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
configure_file(
  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
  @ONLY)

set(LIBCXXABI_TEST_DEPS cxxabi)
if (NOT LIBCXXABI_BUILT_STANDALONE)
  list(APPEND LIBCXXABI_TEST_DEPS cxx)
endif()

if (LIBCXXABI_USE_LLVM_UNWINDER)
  list(APPEND LIBCXXABI_TEST_DEPS unwind)
endif()

add_lit_testsuite(check-libcxxabi "Running libcxxabi tests"
  ${CMAKE_CURRENT_BINARY_DIR}
  DEPENDS ${LIBCXXABI_TEST_DEPS}
  )
