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)
44list (APPEND CMAKE_MODULE_PATH
55 "${CMAKE_CURRENT_SOURCE_DIR} /cmake/modules" )
66
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+
732if (DARWIN_TOOLCHAIN_VERSION)
833 set (SOURCEKIT_VERSION_STRING "${DARWIN_TOOLCHAIN_VERSION} " )
934else ()
You can’t perform that action at this time.
0 commit comments