File tree Expand file tree Collapse file tree 2 files changed +27
-21
lines changed Expand file tree Collapse file tree 2 files changed +27
-21
lines changed Original file line number Diff line number Diff line change @@ -80,3 +80,28 @@ function(swift_windows_cache_VCVARS)
80
80
set (UCRTVersion $ENV{UCRTVersion} CACHE STRING "" )
81
81
endfunction ()
82
82
83
+ # NOTE(compnerd) we use a macro here as this modifies global variables
84
+ macro (swift_swap_compiler_if_needed target )
85
+ if (NOT CMAKE_C_COMPILER_ID MATCHES Clang )
86
+ if (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME )
87
+ get_target_property (CLANG_LOCATION clang LOCATION )
88
+ get_filename_component (CLANG_LOCATION ${CLANG_LOCATION} DIRECTORY )
89
+
90
+ if ("${CMAKE_C_COMPILER_ID} " STREQUAL "MSVC" OR
91
+ "${CMAKE_C_SIMULATE_ID} " STREQUAL "MSVC" )
92
+ set (CMAKE_C_COMPILER
93
+ ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
94
+ set (CMAKE_CXX_COMPILER
95
+ ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
96
+ else ()
97
+ set (CMAKE_C_COMPILER
98
+ ${CLANG_LOCATION} /clang${CMAKE_EXECUTABLE_SUFFIX} )
99
+ set (CMAKE_CXX_COMPILER
100
+ ${CLANG_LOCATION} /clang++${CMAKE_EXECUTABLE_SUFFIX} )
101
+ endif ()
102
+ else ()
103
+ message (SEND_ERROR "${target} requires a clang based compiler" )
104
+ endif ()
105
+ endif ()
106
+ endmacro ()
107
+
Original file line number Diff line number Diff line change @@ -8,27 +8,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
8
8
message (SEND_ERROR "SourceKit cannot be built standalone" )
9
9
endif ()
10
10
11
- if (NOT CMAKE_C_COMPILER_ID MATCHES Clang )
12
- if (CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME )
13
- get_target_property (CLANG_LOCATION clang LOCATION )
14
- get_filename_component (CLANG_LOCATION ${CLANG_LOCATION} DIRECTORY )
15
-
16
- if ("${CMAKE_C_COMPILER_ID} " STREQUAL "MSVC" OR
17
- "${CMAKE_C_SIMULATE_ID} " STREQUAL "MSVC" )
18
- set (CMAKE_C_COMPILER
19
- ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
20
- set (CMAKE_CXX_COMPILER
21
- ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
22
- else ()
23
- set (CMAKE_C_COMPILER
24
- ${CLANG_LOCATION} /clang${CMAKE_EXECUTABLE_SUFFIX} )
25
- set (CMAKE_CXX_COMPILER
26
- ${CLANG_LOCATION} /clang++${CMAKE_EXECUTABLE_SUFFIX} )
27
- endif ()
28
- else ()
29
- message (SEND_ERROR "SourceKit requires a clang based compiler" )
30
- endif ()
31
- endif ()
11
+ include (SwiftWindowsSupport )
12
+ swift_swap_compiler_if_needed ("SourceKit" )
32
13
33
14
if (DARWIN_TOOLCHAIN_VERSION )
34
15
set (SOURCEKIT_VERSION_STRING "${DARWIN_TOOLCHAIN_VERSION} " )
You can’t perform that action at this time.
0 commit comments