brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 9eabfb0 Raw
103 lines · plain
1include(AddLLVM) # for configure_lit_site_cfg and add_lit_testsuite2include(HandleLitArguments)3macro(pythonize_bool var)4  if (${var})5    set(${var} True)6  else()7    set(${var} False)8  endif()9endmacro()10 11set(LIBCXXABI_TESTING_INSTALL_PREFIX "${LIBCXXABI_BINARY_DIR}/test-suite-install")12add_custom_target(libcxxabi-install-cxx-for-testing13                      DEPENDS cxx-headers14                              cxx15                              cxx_experimental16                              cxx-modules17                      COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"18                      COMMAND "${CMAKE_COMMAND}"19                              -DCMAKE_INSTALL_COMPONENT=cxx-headers20                              -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"21                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"22                      COMMAND "${CMAKE_COMMAND}"23                              -DCMAKE_INSTALL_COMPONENT=cxx-modules24                              -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"25                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"26                      COMMAND "${CMAKE_COMMAND}"27                              -DCMAKE_INSTALL_COMPONENT=cxx28                              -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"29                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")30add_dependencies(cxxabi-test-depends libcxxabi-install-cxx-for-testing)31 32add_custom_target(libcxxabi-install-cxxabi-for-testing33                      DEPENDS cxxabi-headers34                              cxxabi35                      COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"36                      COMMAND "${CMAKE_COMMAND}"37                              -DCMAKE_INSTALL_COMPONENT=cxxabi-headers38                              -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"39                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"40                      COMMAND "${CMAKE_COMMAND}"41                              -DCMAKE_INSTALL_COMPONENT=cxxabi42                              -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"43                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")44add_dependencies(cxxabi-test-depends libcxxabi-install-cxxabi-for-testing)45 46if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)47  add_custom_target(libcxxabi-install-unwind-for-testing48    DEPENDS unwind-headers49            unwind50    COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXXABI_TESTING_INSTALL_PREFIX}"51    COMMAND "${CMAKE_COMMAND}"52            -DCMAKE_INSTALL_COMPONENT=unwind-headers53            -DCMAKE_INSTALL_PREFIX="${LIBCXXABI_TESTING_INSTALL_PREFIX}"54            -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"55    COMMAND "${CMAKE_COMMAND}"56            -DCMAKE_INSTALL_COMPONENT=unwind57            -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)60endif()61 62pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)63 64set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")65set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")66 67serialize_lit_string_param(SERIALIZED_LIT_PARAMS compiler "${CMAKE_CXX_COMPILER}")68 69if (NOT LIBCXXABI_ENABLE_EXCEPTIONS)70  serialize_lit_param(SERIALIZED_LIT_PARAMS enable_exceptions False)71endif()72 73if (LIBCXXABI_ENABLE_ASSERTIONS)74  serialize_lit_param(SERIALIZED_LIT_PARAMS enable_assertions True)75endif()76 77serialize_lit_param(SERIALIZED_LIT_PARAMS enable_experimental False)78 79if (LLVM_USE_SANITIZER)80  serialize_lit_string_param(SERIALIZED_LIT_PARAMS use_sanitizer "${LLVM_USE_SANITIZER}")81endif()82 83if (CMAKE_CXX_COMPILER_TARGET)84  serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${CMAKE_CXX_COMPILER_TARGET}")85else()86  serialize_lit_string_param(SERIALIZED_LIT_PARAMS target_triple "${LLVM_DEFAULT_TARGET_TRIPLE}")87endif()88 89serialize_lit_params_list(SERIALIZED_LIT_PARAMS LIBCXXABI_TEST_PARAMS)90 91configure_file("${CMAKE_CURRENT_SOURCE_DIR}/configs/cmake-bridge.cfg.in"92               "${CMAKE_CURRENT_BINARY_DIR}/cmake-bridge.cfg"93               @ONLY)94 95configure_lit_site_cfg(96  "${LIBCXXABI_TEST_CONFIG}"97  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg98  MAIN_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py")99 100add_lit_testsuite(check-cxxabi "Running libcxxabi tests"101  ${CMAKE_CURRENT_BINARY_DIR}102  DEPENDS cxxabi-test-depends)103