[M68k] always use movem for register spills (#106715)
[llvm-project.git] / libcxxabi / test / CMakeLists.txt
blob9eabfb08240b60b05c7f659ed5b40bd90f363602
1 include(AddLLVM) # for configure_lit_site_cfg and add_lit_testsuite
2 include(HandleLitArguments)
3 macro(pythonize_bool var)
4   if (${var})
5     set(${var} True)
6   else()
7     set(${var} False)
8   endif()
9 endmacro()
11 set(LIBCXXABI_TESTING_INSTALL_PREFIX "${LIBCXXABI_BINARY_DIR}/test-suite-install")
12 add_custom_target(libcxxabi-install-cxx-for-testing
13                       DEPENDS cxx-headers
14                               cxx
15                               cxx_experimental
16                               cxx-modules
17                       COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"
18                       COMMAND "${CMAKE_COMMAND}"
19                               -DCMAKE_INSTALL_COMPONENT=cxx-headers
20                               -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
21                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
22                       COMMAND "${CMAKE_COMMAND}"
23                               -DCMAKE_INSTALL_COMPONENT=cxx-modules
24                               -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
25                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
26                       COMMAND "${CMAKE_COMMAND}"
27                               -DCMAKE_INSTALL_COMPONENT=cxx
28                               -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
29                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
30 add_dependencies(cxxabi-test-depends libcxxabi-install-cxx-for-testing)
32 add_custom_target(libcxxabi-install-cxxabi-for-testing
33                       DEPENDS cxxabi-headers
34                               cxxabi
35                       COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"
36                       COMMAND "${CMAKE_COMMAND}"
37                               -DCMAKE_INSTALL_COMPONENT=cxxabi-headers
38                               -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
39                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
40                       COMMAND "${CMAKE_COMMAND}"
41                               -DCMAKE_INSTALL_COMPONENT=cxxabi
42                               -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
43                               -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
44 add_dependencies(cxxabi-test-depends libcxxabi-install-cxxabi-for-testing)
46 if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)
47   add_custom_target(libcxxabi-install-unwind-for-testing
48     DEPENDS unwind-headers
49             unwind
50     COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"
51     COMMAND "${CMAKE_COMMAND}"
52             -DCMAKE_INSTALL_COMPONENT=unwind-headers
53             -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
54             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
55     COMMAND "${CMAKE_COMMAND}"
56             -DCMAKE_INSTALL_COMPONENT=unwind
57             -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"
58             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
59   add_dependencies(cxxabi-test-depends libcxxabi-install-unwind-for-testing)
60 endif()
62 pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
64 set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
65 set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")
67 serialize_lit_string_param(SERIALIZED_LIT_PARAMS compiler "${CMAKE_CXX_COMPILER}")
69 if (NOT LIBCXXABI_ENABLE_EXCEPTIONS)
70   serialize_lit_param(SERIALIZED_LIT_PARAMS enable_exceptions False)
71 endif()
73 if (LIBCXXABI_ENABLE_ASSERTIONS)
74   serialize_lit_param(SERIALIZED_LIT_PARAMS enable_assertions True)
75 endif()
77 serialize_lit_param(SERIALIZED_LIT_PARAMS enable_experimental False)
79 if (LLVM_USE_SANITIZER)
80   serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")
81 endif()
83 if (CMAKE_CXX_COMPILER_TARGET)
84   serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")
85 else()
86   serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")
87 endif()
89 serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBCXXABI_TEST_PARAMS)
91 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/configs/cmake-bridge.cfg.in"
92                "${CMAKE_CURRENT_BINARY_DIR}/cmake-bridge.cfg"
93                @ONLY)
95 configure_lit_site_cfg(
96   "${LIBCXXABI_TEST_CONFIG}"
97   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
98   MAIN_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py")
100 add_lit_testsuite(check-cxxabi "Running libcxxabi tests"
101   ${CMAKE_CURRENT_BINARY_DIR}
102   DEPENDS cxxabi-test-depends)