|
|
@@ -84,7 +84,7 @@ macro(_cmake_find_compiler lang)
|
|
|
unset(_languages)
|
|
|
|
|
|
# Look for a make tool provided by Xcode
|
|
|
- if(CMAKE_HOST_APPLE)
|
|
|
+ if(CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND" AND CMAKE_HOST_APPLE)
|
|
|
macro(_query_xcrun compiler_name result_var_keyword result_var)
|
|
|
if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
|
|
|
message(FATAL_ERROR "Bad arguments to macro")
|
|
|
@@ -95,20 +95,13 @@ macro(_cmake_find_compiler lang)
|
|
|
set("${result_var}" "${_xcrun_out}")
|
|
|
endmacro()
|
|
|
|
|
|
- set(xcrun_result)
|
|
|
- if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
|
|
|
- _query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
|
|
|
- elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
|
|
|
- foreach(comp IN LISTS CMAKE_${lang}_COMPILER_LIST)
|
|
|
- _query_xcrun("${comp}" RESULT_VAR xcrun_result)
|
|
|
- if(xcrun_result)
|
|
|
- break()
|
|
|
- endif()
|
|
|
- endforeach()
|
|
|
- endif()
|
|
|
- if (xcrun_result)
|
|
|
- set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
|
|
|
- endif()
|
|
|
+ foreach(comp IN LISTS CMAKE_${lang}_COMPILER_LIST)
|
|
|
+ _query_xcrun("${comp}" RESULT_VAR xcrun_result)
|
|
|
+ if(xcrun_result)
|
|
|
+ set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
|
|
|
+ break()
|
|
|
+ endif()
|
|
|
+ endforeach()
|
|
|
endif()
|
|
|
endmacro()
|
|
|
|