diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake index 286a622a4b520..9717c21d8977b 100644 --- a/compiler-rt/cmake/base-config-ix.cmake +++ b/compiler-rt/cmake/base-config-ix.cmake @@ -77,13 +77,15 @@ else() set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing") endif() -if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$") +get_filename_component(_test_compiler_name "${COMPILER_RT_TEST_COMPILER}" NAME) +if("${COMPILER_RT_TEST_COMPILER}" STREQUAL "${CMAKE_C_COMPILER}") + set(COMPILER_RT_TEST_COMPILER_ID "${CMAKE_C_COMPILER_ID}") +elseif("${_test_compiler_name}" MATCHES "clang.*") set(COMPILER_RT_TEST_COMPILER_ID Clang) -elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$") - set(COMPILER_RT_TEST_COMPILER_ID Clang) -elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "cl.exe$") +elseif("${_test_compiler_name}" MATCHES "cl.exe$") set(COMPILER_RT_TEST_COMPILER_ID MSVC) else() + message(STATUS "Unknown compiler ${COMPILER_RT_TEST_COMPILER}, assuming GNU") set(COMPILER_RT_TEST_COMPILER_ID GNU) endif()