Yes, you can define a computed property in your Package.swift
that produces different settings based on the platform and then just reference that in your package description:
// swift-tools-version:5.3
import PackageDescription
var linkerSettings: [LinkerSetting]? {
#if os(Linux)
return [
.linkedLibrary("icui18n"),
.linkedLibrary("icuuc"),
.linkedLibrary("icudata"),
.linkedLibrary("z"),
.linkedLibrary("lzma")
]
#else
return nil
#endif
}
let package = Package(
name: "MyApp",
dependencies: [],
targets: [
.target(
name: "MyApp",
dependencies: [],
linkerSettings: linkerSettings
)
]
)