44import PackageDescription
55
66let dependencies : [ Package . Dependency ]
7+ let versionedTargets : [ Target ]
8+ let versionedDependencies : [ Target . Dependency ]
9+
710#if swift(>=5.9)
811dependencies = [
912 . package ( url: " https://github.com/apple/swift-argument-parser.git " , . exact( " 1.2.3 " ) ) ,
1013 . package ( name: " SwiftPM " , url: " https://github.com/apple/swift-package-manager.git " , . branch( " release/5.9 " ) ) ,
1114 . package ( url: " https://github.com/apple/swift-tools-support-core.git " , . branch( " release/5.9 " ) ) ,
1215]
16+ versionedTargets = [
17+ . target(
18+ name: " Xcodeproj " ,
19+ dependencies: [
20+ . product( name: " SwiftPM-auto " , package : " SwiftPM " ) ,
21+ . product( name: " SwiftToolsSupport-auto " , package : " swift-tools-support-core " ) ,
22+ ]
23+ )
24+ ]
25+ versionedDependencies = [ " Xcodeproj " ]
1326#elseif swift(>=5.7)
1427dependencies = [
1528 . package ( url: " https://github.com/apple/swift-argument-parser.git " , . exact( " 1.0.3 " ) ) ,
1629 . package ( name: " SwiftPM " , url: " https://github.com/apple/swift-package-manager.git " , . branch( " release/5.7 " ) ) ,
1730 . package ( url: " https://github.com/apple/swift-tools-support-core.git " , . branch( " release/5.7 " ) ) ,
1831]
32+ versionedTargets = [ ]
33+ versionedDependencies = [ ]
1934#elseif swift(>=5.6)
2035dependencies = [
2136 . package ( url: " https://github.com/apple/swift-argument-parser.git " , . exact( " 1.0.3 " ) ) ,
2237 . package ( name: " SwiftPM " , url: " https://github.com/apple/swift-package-manager.git " , . branch( " release/5.6 " ) ) ,
2338 . package ( url: " https://github.com/apple/swift-tools-support-core.git " , . exact( " 0.2.5 " ) )
2439]
40+ versionedTargets = [ ]
41+ versionedDependencies = [ ]
2542#elseif swift(>=5.5)
2643dependencies = [
2744 . package ( url: " https://github.com/apple/swift-argument-parser.git " , . exact( " 0.4.4 " ) ) ,
2845 . package ( name: " SwiftPM " , url: " https://github.com/apple/swift-package-manager.git " , . branch( " release/5.5 " ) ) ,
2946 . package ( url: " https://github.com/apple/swift-tools-support-core.git " , . exact( " 0.2.3 " ) )
3047]
48+ versionedTargets = [ ]
49+ versionedDependencies = [ ]
3150#else
3251dependencies = [
3352 . package ( url: " https://github.com/apple/swift-argument-parser.git " , . exact( " 0.3.2 " ) ) ,
3453 . package ( name: " SwiftPM " , url: " https://github.com/apple/swift-package-manager.git " , . revision( " swift-5.3.3-RELEASE " ) ) ,
3554 . package ( url: " https://github.com/apple/swift-tools-support-core.git " , . exact( " 0.1.12 " ) )
3655]
56+ versionedTargets = [ ]
57+ versionedDependencies = [ ]
3758#endif
3859
3960let platforms : [ SupportedPlatform ]
@@ -59,16 +80,8 @@ let package = Package(
5980
6081 dependencies: dependencies,
6182
62- targets: [
63- . target(
64- name: " Xcodeproj " ,
65- dependencies: [
66- . product( name: " SwiftPM-auto " , package : " SwiftPM " ) ,
67- . product( name: " SwiftToolsSupport-auto " , package : " swift-tools-support-core " ) ,
68- ]
69- ) ,
70- . target( name: " CreateXCFramework " , dependencies: [
71- " Xcodeproj " ,
83+ targets: versionedTargets + [
84+ . target( name: " CreateXCFramework " , dependencies: versionedDependencies + [
7285 . product( name: " ArgumentParser " , package : " swift-argument-parser " ) ,
7386 . product( name: " SwiftPM-auto " , package : " SwiftPM " ) ,
7487 . product( name: " SwiftToolsSupport-auto " , package : " swift-tools-support-core " ) ,
0 commit comments