Skip to content

Commit 595df9e

Browse files
committed
Merge remote-tracking branch 'origin/master' into master-next
2 parents 70e88cc + 927ef3c commit 595df9e

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

tools/SourceKit/CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,31 @@ include(CheckSymbolExists)
44
list(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+
732
if (DARWIN_TOOLCHAIN_VERSION)
833
set(SOURCEKIT_VERSION_STRING "${DARWIN_TOOLCHAIN_VERSION}")
934
else()

0 commit comments

Comments
 (0)