[SourceKit] CMake dependency fixes #3080
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's in this pull request?
While SourceKit building on Linux, I encountered some
unresolved reference
linker errors that seem to stem from a different linker behavior with respect to the ordering of libraries on the command line invocation. I've made two changes here that resolve several of these issues:SourceKitCore
depends onSourceKitSwiftLang
. This circular dependency exists in the source files but wasn't declared in theCMakeLists
. Adding this here causes CMake to include the libraries multiple times in the invocation which lets the linker resolve the references.sourcekitdAPI
target to fix similar linker issues there. I discovered that those errors could instead be fixed by reordering some of the clang dependencies inSourceKitSwiftLang
.Related bug number: (SR-1676)
Before merging this pull request to apple/swift repository:
Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
Validation Testing
Lint Testing
Note: Only members of the Apple organization can trigger swift-ci.
@modocache @llvm-beanz @gribozavr