Skip to content

Commit f9fc58d

Browse files
authored
Merge pull request #2058 from ahoppen/toolsets
Allow specifying toolsets for SwiftPM projects
2 parents 9917c7c + cde206c commit f9fc58d

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

Documentation/Configuration File.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ The structure of the file is currently not guaranteed to be stable. Options may
2020
- `swiftSDKsDirectory: string`: Equivalent to SwiftPM's `--swift-sdks-path` option.
2121
- `swiftSDK: string`: Equivalent to SwiftPM's `--swift-sdk` option.
2222
- `triple: string`: Equivalent to SwiftPM's `--triple` option.
23+
- `toolsets: string[]`: Equivalent to SwiftPM's `--toolset` option.
2324
- `traits: string[]`: Traits to enable for the package. Equivalent to SwiftPM's `--traits` option.
2425
- `cCompilerFlags: string[]`: Extra arguments passed to the compiler for C files. Equivalent to SwiftPM's `-Xcc` option.
2526
- `cxxCompilerFlags: string[]`: Extra arguments passed to the compiler for C++ files. Equivalent to SwiftPM's `-Xcxx` option.

Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ package actor SwiftPMBuildSystem: BuiltInBuildSystem {
208208
let destinationSDK = try SwiftSDK.deriveTargetSwiftSDK(
209209
hostSwiftSDK: hostSDK,
210210
hostTriple: hostSwiftPMToolchain.targetTriple,
211+
customToolsets: options.swiftPMOrDefault.toolsets?.map { try AbsolutePath(validating: $0) } ?? [],
211212
customCompileTriple: options.swiftPMOrDefault.triple.map { try Triple($0) },
212213
swiftSDKSelector: options.swiftPMOrDefault.swiftSDK,
213214
store: SwiftSDKBundleStore(

Sources/SKOptions/SourceKitLSPOptions.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ public struct SourceKitLSPOptions: Sendable, Codable, Equatable {
4444
/// Equivalent to SwiftPM's `--triple` option.
4545
public var triple: String?
4646

47+
/// Equivalent to SwiftPM's `--toolset` option.
48+
public var toolsets: [String]?
49+
4750
/// Traits to enable for the package. Equivalent to SwiftPM's `--traits` option.
4851
public var traits: [String]?
4952

@@ -79,6 +82,7 @@ public struct SourceKitLSPOptions: Sendable, Codable, Equatable {
7982
swiftSDKsDirectory: String? = nil,
8083
swiftSDK: String? = nil,
8184
triple: String? = nil,
85+
toolsets: [String]? = nil,
8286
traits: [String]? = nil,
8387
cCompilerFlags: [String]? = nil,
8488
cxxCompilerFlags: [String]? = nil,
@@ -93,6 +97,7 @@ public struct SourceKitLSPOptions: Sendable, Codable, Equatable {
9397
self.swiftSDKsDirectory = swiftSDKsDirectory
9498
self.swiftSDK = swiftSDK
9599
self.triple = triple
100+
self.toolsets = toolsets
96101
self.traits = traits
97102
self.cCompilerFlags = cCompilerFlags
98103
self.cxxCompilerFlags = cxxCompilerFlags
@@ -109,6 +114,7 @@ public struct SourceKitLSPOptions: Sendable, Codable, Equatable {
109114
swiftSDKsDirectory: override?.swiftSDKsDirectory ?? base.swiftSDKsDirectory,
110115
swiftSDK: override?.swiftSDK ?? base.swiftSDK,
111116
triple: override?.triple ?? base.triple,
117+
toolsets: override?.toolsets ?? base.toolsets,
112118
traits: override?.traits ?? base.traits,
113119
cCompilerFlags: override?.cCompilerFlags ?? base.cCompilerFlags,
114120
cxxCompilerFlags: override?.cxxCompilerFlags ?? base.cxxCompilerFlags,

config.schema.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@
272272
"markdownDescription" : "Equivalent to SwiftPM's `--swift-sdks-path` option.",
273273
"type" : "string"
274274
},
275+
"toolsets" : {
276+
"description" : "Equivalent to SwiftPM's `--toolset` option.",
277+
"items" : {
278+
"type" : "string"
279+
},
280+
"markdownDescription" : "Equivalent to SwiftPM's `--toolset` option.",
281+
"type" : "array"
282+
},
275283
"traits" : {
276284
"description" : "Traits to enable for the package. Equivalent to SwiftPM's `--traits` option.",
277285
"items" : {

0 commit comments

Comments
 (0)