Skip to content

Commit 231c324

Browse files
committed
Create shared code target
1 parent 1510f7a commit 231c324

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

Package.swift

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ let package = Package(
7575
)
7676

7777
dependencies.append(contentsOf: [
78+
"GateEngineShared",
7879
"GameMath",
7980
"Shaders",
8081
"TrueType",
@@ -228,6 +229,7 @@ let package = Package(
228229
.target(
229230
name: "Shaders",
230231
dependencies: [
232+
"GateEngineShared",
231233
"GameMath",
232234
.product(name: "Collections", package: "swift-collections")
233235
],
@@ -236,17 +238,25 @@ let package = Package(
236238
})
237239
),
238240

239-
.target(name: "GameMath", swiftSettings: .default(withCustomization: { settings in
240-
#if false
241-
// Possibly faster on old hardware, but less accurate.
242-
// There is no reason to use this on modern hardware.
243-
settings.append(.define("GameMathUseFastInverseSquareRoot"))
244-
#endif
245-
246-
// These settings are faster only with optimization.
247-
settings.append(.define("GameMathUseSIMD", .when(configuration: .release, traits: ["SIMD"])))
248-
settings.append(.define("GameMathUseLoopVectorization", .when(configuration: .release, traits: ["SIMD"])))
249-
})),
241+
.target(
242+
name: "GameMath",
243+
dependencies: [
244+
"GateEngineShared"
245+
],
246+
swiftSettings: .default(withCustomization: { settings in
247+
#if false
248+
// Possibly faster on old hardware, but less accurate.
249+
// There is no reason to use this on modern hardware.
250+
settings.append(.define("GameMathUseFastInverseSquareRoot"))
251+
#endif
252+
253+
// These settings are faster only with optimization.
254+
settings.append(.define("GameMathUseSIMD", .when(configuration: .release, traits: ["SIMD"])))
255+
settings.append(.define("GameMathUseLoopVectorization", .when(configuration: .release, traits: ["SIMD"])))
256+
})
257+
),
258+
259+
.target(name: "GateEngineShared", swiftSettings: .default),
250260
])
251261

252262
// MARK: - Macros

Sources/GameMath/GameMath.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ import Foundation
1515
@_exported import func Foundation.tan
1616
@_exported import func Foundation.acos
1717
@_exported import func Foundation.atan2
18+
19+
@_exported import GateEngineShared

Sources/GateEngine/GateEngine.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import Foundation
99

10-
// Windows doesn't always link @_exported, so we import too.
10+
@_exported public import GateEngineShared
1111
@_exported public import GameMath
1212

1313
@_exported import struct Foundation.Data

0 commit comments

Comments
 (0)