@@ -83,29 +83,30 @@ macro(swift_swap_compiler_if_needed target)
8383 if (NOT CMAKE_C_COMPILER_ID MATCHES Clang)
8484 if (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME AND CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
8585 if (SWIFT_BUILT_STANDALONE)
86- get_target_property (CLANG_LOCATION clang LOCATION )
87- get_filename_component (CLANG_LOCATION ${CLANG_LOCATION } DIRECTORY )
86+ get_target_property (SWIFT_CLANG_LOCATION clang LOCATION )
87+ get_filename_component (SWIFT_CLANG_LOCATION ${SWIFT_CLANG_LOCATION } DIRECTORY )
8888 else ()
89- set (CLANG_LOCATION ${LLVM_RUNTIME_OUTPUT_INTDIR} )
89+ set (SWIFT_CLANG_LOCATION ${LLVM_RUNTIME_OUTPUT_INTDIR} )
9090 endif ()
91+ endif ()
9192
93+ if (DEFINED SWIFT_CLANG_LOCATION)
9294 if ("${CMAKE_C_COMPILER_ID} " STREQUAL "MSVC" OR "${CMAKE_C_SIMULATE_ID} " STREQUAL "MSVC" )
93- set (CMAKE_C_COMPILER ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
94- set (CMAKE_CXX_COMPILER ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
95- set (CMAKE_C_COMPILER_ID Clang)
95+ set (CMAKE_C_COMPILER ${SWIFT_CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
96+ set (CMAKE_CXX_COMPILER ${SWIFT_CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
9697 set (CMAKE_C_SIMULATE_ID MSVC )
9798 set (CMAKE_C_COMPILER_FRONTEND_VARIANT MSVC )
98- set (CMAKE_CXX_COMPILER_ID Clang)
9999 set (CMAKE_CXX_SIMULATE_ID MSVC )
100100 set (CMAKE_CXX_COMPILER_FRONTEND_VARIANT MSVC )
101101 else ()
102- set (CMAKE_C_COMPILER ${CLANG_LOCATION} /clang${CMAKE_EXECUTABLE_SUFFIX} )
103- set (CMAKE_CXX_COMPILER ${CLANG_LOCATION} /clang++${CMAKE_EXECUTABLE_SUFFIX} )
104- set (CMAKE_C_COMPILER_ID Clang)
105- set (CMAKE_CXX_COMPILER_ID Clang)
102+ set (CMAKE_C_COMPILER ${SWIFT_CLANG_LOCATION} /clang${CMAKE_EXECUTABLE_SUFFIX} )
103+ set (CMAKE_CXX_COMPILER ${SWIFT_CLANG_LOCATION} /clang++${CMAKE_EXECUTABLE_SUFFIX} )
106104 endif ()
105+ set (CMAKE_C_COMPILER_ID Clang)
106+ set (CMAKE_CXX_COMPILER_ID Clang)
107+ message (STATUS "C/C++ compiler for ${target} is set to: ${CMAKE_C_COMPILER} " )
107108 else ()
108- message (SEND_ERROR "${target} requires a clang based compiler" )
109+ message (SEND_ERROR "${target} requires a clang based compiler. Please set SWIFT_CLANG_LOCATION. " )
109110 endif ()
110111 endif ()
111112endmacro ()
0 commit comments