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