let package = Package(
// ...
)
for target in package.targets {
var swiftSettings = target.swiftSettings ?? []
defer { target.swiftSettings = swiftSettings }
swiftSettings.append(.enableUpcomingFeature("StrictConcurrency"))
// And it easily composes with other global things:
swiftSettings.append(
.define(
"APPLE_PLATFORM",
.when(platforms: [.macOS, .tvOS, .iOS, .watchOS])
)
)
#if os(Windows)
target.plugins = nil
swiftSettings.append(
.define("PLUGINS_UNAVAILABLE")
)
#endif
}
2 Likes