Skip to content

Commit 7cd7427

Browse files
committed
[SourceKit] Register optional sources in CMake
LLVM's CMake modules include a function `llvm_process_sources()`, which (among other things) verifies that all source files in a directory are either included in the list of source files to process, or are included in a list `LLVM_OPTIONAL_SOURCES`. SourceKit's CMake functions make use of this LLVM function, but do not register any files as "optional". When attempting to configure CMake to include SourceKit on a Linux host machine, source files that are only included on Darwin host machines cause this function to raise an error. Mark Darwin-only SourceKit files as "optional" to avoid the error.
1 parent 9dddc64 commit 7cd7427

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

tools/SourceKit/lib/Support/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ set(SourceKitSupport_sources
77
UIDRegistry.cpp
88
)
99

10+
set(SourceKitSupport_Darwin_sources
11+
Concurrency-Mac.cpp)
12+
set(LLVM_OPTIONAL_SOURCES ${SourceKitSupport_Darwin_sources})
1013
if(APPLE)
11-
list(APPEND SourceKitSupport_sources
12-
Concurrency-Mac.cpp
13-
)
14+
list(APPEND SourceKitSupport_sources ${SourceKitSupport_Darwin_sources})
1415
endif()
1516

1617
add_sourcekit_library(SourceKitSupport

tools/SourceKit/tools/sourcekitd/lib/API/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ set(sourcekitdAPI_sources
77
TokenAnnotationsArray.cpp
88
)
99

10+
set(sourcekitdAPI_Darwin_sources
11+
sourcekitdAPI-XPC.cpp)
12+
set(LLVM_OPTIONAL_SOURCES ${sourcekitdAPI_Darwin_sources})
1013
if(APPLE)
11-
list(APPEND sourcekitdAPI_sources
12-
sourcekitdAPI-XPC.cpp
13-
)
14+
list(APPEND sourcekitdAPI_sources ${sourcekitdAPI_Darwin_sources})
1415
endif()
1516

1617
add_sourcekit_library(sourcekitdAPI

0 commit comments

Comments
 (0)