• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include(AddLLVM) # for configure_lit_site_cfg and add_lit_testsuite
2include(HandleLitArguments)
3macro(pythonize_bool var)
4  if (${var})
5    set(${var} True)
6  else()
7    set(${var} False)
8  endif()
9endmacro()
10
11pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
12
13if (LIBCXXABI_ENABLE_SHARED)
14  set(LIBCXXABI_TEST_DEPS cxxabi_shared)
15else()
16  set(LIBCXXABI_TEST_DEPS cxxabi_static)
17endif()
18
19list(APPEND LIBCXXABI_TEST_DEPS cxx)
20if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)
21  list(APPEND LIBCXXABI_TEST_DEPS unwind)
22endif()
23
24set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
25set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")
26
27if (LIBCXXABI_EXECUTOR)
28  message(DEPRECATION "LIBCXXABI_EXECUTOR is deprecated, please add executor=... to LIBCXXABI_TEST_PARAMS")
29  serialize_lit_string_param(SERIALIZED_LIT_PARAMS executor "${LIBCXXABI_EXECUTOR}")
30endif()
31
32if (NOT LIBCXXABI_ENABLE_EXCEPTIONS)
33  serialize_lit_param(SERIALIZED_LIT_PARAMS enable_exceptions False)
34endif()
35
36if (LIBCXXABI_ENABLE_ASSERTIONS)
37  serialize_lit_param(SERIALIZED_LIT_PARAMS enable_assertions True)
38endif()
39
40serialize_lit_param(SERIALIZED_LIT_PARAMS enable_experimental False)
41
42if (LLVM_USE_SANITIZER)
43  serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")
44endif()
45
46if (CMAKE_CXX_COMPILER_TARGET)
47  serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")
48else()
49  serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")
50endif()
51
52serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBCXXABI_TEST_PARAMS)
53
54configure_file("${CMAKE_CURRENT_SOURCE_DIR}/configs/cmake-bridge.cfg.in"
55               "${CMAKE_CURRENT_BINARY_DIR}/cmake-bridge.cfg"
56               @ONLY)
57
58configure_lit_site_cfg(
59  "${LIBCXXABI_TEST_CONFIG}"
60  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
61  MAIN_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py")
62
63add_lit_testsuite(check-cxxabi "Running libcxxabi tests"
64  ${CMAKE_CURRENT_BINARY_DIR}
65  DEPENDS ${LIBCXXABI_TEST_DEPS})
66