66 lines · plain
1include(AddLLVM) # for 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(LIBUNWIND_TESTING_INSTALL_PREFIX "${LIBUNWIND_BINARY_DIR}/test-suite-install")12add_custom_target(libunwind-install-unwind-for-testing13 DEPENDS unwind-headers14 unwind15 COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBUNWIND_TESTING_INSTALL_PREFIX}"16 COMMAND "${CMAKE_COMMAND}"17 -DCMAKE_INSTALL_COMPONENT=unwind-headers18 -DCMAKE_INSTALL_PREFIX="${LIBUNWIND_TESTING_INSTALL_PREFIX}"19 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"20 COMMAND "${CMAKE_COMMAND}"21 -DCMAKE_INSTALL_COMPONENT=unwind22 -DCMAKE_INSTALL_PREFIX="${LIBUNWIND_TESTING_INSTALL_PREFIX}"23 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")24 25pythonize_bool(LIBUNWIND_ENABLE_CET)26pythonize_bool(LIBUNWIND_ENABLE_GCS)27pythonize_bool(LIBUNWIND_ENABLE_THREADS)28pythonize_bool(LIBUNWIND_USES_ARM_EHABI)29 30set(AUTO_GEN_COMMENT "## Autogenerated by libunwind configuration.\n# Do not edit!")31set(SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n")32 33serialize_lit_string_param(SERIALIZED_LIT_PARAMS compiler "${CMAKE_CXX_COMPILER}")34 35if (LIBUNWIND_EXECUTOR)36 message(DEPRECATION "LIBUNWIND_EXECUTOR is deprecated, please add executor=... to LIBUNWIND_TEST_PARAMS")37 serialize_lit_string_param(SERIALIZED_LIT_PARAMS executor "${LIBUNWIND_EXECUTOR}")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 LIBUNWIND_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 "${LIBUNWIND_TEST_CONFIG}"60 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg61 MAIN_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py")62 63add_lit_testsuite(check-unwind "Running libunwind tests"64 ${CMAKE_CURRENT_BINARY_DIR}65 DEPENDS libunwind-install-unwind-for-testing)66