File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,31 @@ include(CheckSymbolExists)
4
4
list (APPEND CMAKE_MODULE_PATH
5
5
"${CMAKE_CURRENT_SOURCE_DIR} /cmake/modules" )
6
6
7
+ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
8
+ message (SEND_ERROR "SourceKit cannot be built standalone" )
9
+ endif ()
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 CMAKE_C_SIMULATE_ID STREQUAL MSVC )
17
+ set (CMAKE_C_COMPILER_ID
18
+ ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
19
+ set (CMAKE_CXX_COMPILER_ID
20
+ ${CLANG_LOCATION} /clang-cl${CMAKE_EXECUTABLE_SUFFIX} )
21
+ else ()
22
+ set (CMAKE_C_COMPILER_ID
23
+ ${CLANG_LOCATION} /clang${CMAKE_EXECUTABLE_SUFFIX} )
24
+ set (CMAKE_CXX_COMPILER_ID
25
+ ${CLANG_LOCATION} /clang++${CMAKE_EXECUTABLE_SUFFIX} )
26
+ endif ()
27
+ else ()
28
+ message (SEND_ERROR "SourceKit requires a clang based compiler" )
29
+ endif ()
30
+ endif ()
31
+
7
32
if (DARWIN_TOOLCHAIN_VERSION )
8
33
set (SOURCEKIT_VERSION_STRING "${DARWIN_TOOLCHAIN_VERSION} " )
9
34
else ()
You can’t perform that action at this time.
0 commit comments