@@ -83,29 +83,30 @@ macro(swift_swap_compiler_if_needed target)
83
83
if (NOT CMAKE_C_COMPILER_ID MATCHES Clang )
84
84
if (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME AND CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR )
85
85
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 )
88
88
else ()
89
- set (CLANG_LOCATION ${LLVM_RUNTIME_OUTPUT_INTDIR} )
89
+ set (SWIFT_CLANG_LOCATION ${LLVM_RUNTIME_OUTPUT_INTDIR} )
90
90
endif ()
91
+ endif ()
91
92
93
+ if (DEFINED SWIFT_CLANG_LOCATION )
92
94
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} )
96
97
set (CMAKE_C_SIMULATE_ID MSVC )
97
98
set (CMAKE_C_COMPILER_FRONTEND_VARIANT MSVC )
98
- set (CMAKE_CXX_COMPILER_ID Clang )
99
99
set (CMAKE_CXX_SIMULATE_ID MSVC )
100
100
set (CMAKE_CXX_COMPILER_FRONTEND_VARIANT MSVC )
101
101
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} )
106
104
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} " )
107
108
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. " )
109
110
endif ()
110
111
endif ()
111
112
endmacro ()
0 commit comments