Skip to content

Commit 6b5013f

Browse files
committed
Add Swift definition for SDK version
1 parent 7dd3c56 commit 6b5013f

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

Package.swift

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,15 @@ let javaIncludePath = "\(javaHome)/include"
4141

4242
// Get NDK version from command line
4343
let ndkVersion = ProcessInfo.processInfo.environment["ANDROID_NDK_VERSION"].flatMap { UInt($0) } ?? 27
44-
let ndkBinder = ndkVersion >= 29 // binder_ndk Requires NDK 29
45-
4644
let ndkVersionDefine = SwiftSetting.define("ANDROID_NDK_VERSION_" + ndkVersion.description)
4745

46+
// Get Android API version
47+
let sdkVersion = ProcessInfo.processInfo.environment["ANDROID_SDK_VERSION"].flatMap { UInt($0) } ?? 29
48+
let sdkVersionDefine = SwiftSetting.define("ANDROID_SDK_VERSION_" + ndkVersion.description)
49+
50+
// Conditionally enable features
51+
let ndkBinder = sdkVersion >= 29 // binder_ndk Requires API 29
52+
4853
var package = Package(
4954
name: "SwiftAndroid",
5055
platforms: [
@@ -136,7 +141,8 @@ var package = Package(
136141
swiftSettings: [
137142
.swiftLanguageMode(.v5),
138143
.unsafeFlags(["-I\(javaIncludePath)", "-I\(javaPlatformIncludePath)"]),
139-
ndkVersionDefine
144+
ndkVersionDefine,
145+
sdkVersionDefine
140146
]
141147
),
142148
.target(
@@ -197,7 +203,8 @@ var package = Package(
197203
],
198204
swiftSettings: [
199205
.swiftLanguageMode(.v5),
200-
ndkVersionDefine
206+
ndkVersionDefine,
207+
sdkVersionDefine
201208
]
202209
),
203210
.target(
@@ -208,7 +215,8 @@ var package = Package(
208215
exclude: ["swift-java.config"],
209216
swiftSettings: [
210217
.swiftLanguageMode(.v5),
211-
ndkVersionDefine
218+
ndkVersionDefine,
219+
sdkVersionDefine
212220
]
213221
),
214222
.target(
@@ -229,7 +237,8 @@ var package = Package(
229237
exclude: ["swift-java.config"],
230238
swiftSettings: [
231239
.swiftLanguageMode(.v5),
232-
ndkVersionDefine
240+
ndkVersionDefine,
241+
sdkVersionDefine
233242
]
234243
),
235244
.target(
@@ -240,7 +249,8 @@ var package = Package(
240249
exclude: ["swift-java.config"],
241250
swiftSettings: [
242251
.swiftLanguageMode(.v5),
243-
ndkVersionDefine
252+
ndkVersionDefine,
253+
sdkVersionDefine
244254
]
245255
),
246256
.target(
@@ -252,7 +262,8 @@ var package = Package(
252262
exclude: ["swift-java.config"],
253263
swiftSettings: [
254264
.swiftLanguageMode(.v5),
255-
ndkVersionDefine
265+
ndkVersionDefine,
266+
sdkVersionDefine
256267
]
257268
),
258269
.target(
@@ -264,7 +275,8 @@ var package = Package(
264275
exclude: ["swift-java.config"],
265276
swiftSettings: [
266277
.swiftLanguageMode(.v5),
267-
ndkVersionDefine
278+
ndkVersionDefine,
279+
sdkVersionDefine
268280
]
269281
),
270282
.target(
@@ -277,7 +289,8 @@ var package = Package(
277289
exclude: ["swift-java.config"],
278290
swiftSettings: [
279291
.swiftLanguageMode(.v5),
280-
ndkVersionDefine
292+
ndkVersionDefine,
293+
sdkVersionDefine
281294
]
282295
),
283296
.target(
@@ -291,7 +304,8 @@ var package = Package(
291304
exclude: ["swift-java.config"],
292305
swiftSettings: [
293306
.swiftLanguageMode(.v5),
294-
ndkVersionDefine
307+
ndkVersionDefine,
308+
sdkVersionDefine
295309
]
296310
),
297311
.target(
@@ -305,7 +319,8 @@ var package = Package(
305319
exclude: ["swift-java.config"],
306320
swiftSettings: [
307321
.swiftLanguageMode(.v5),
308-
ndkVersionDefine
322+
ndkVersionDefine,
323+
sdkVersionDefine
309324
]
310325
),
311326
.target(
@@ -320,7 +335,8 @@ var package = Package(
320335
exclude: ["swift-java.config"],
321336
swiftSettings: [
322337
.swiftLanguageMode(.v5),
323-
ndkVersionDefine
338+
ndkVersionDefine,
339+
sdkVersionDefine
324340
]
325341
),
326342
.target(
@@ -340,7 +356,8 @@ var package = Package(
340356
exclude: ["swift-java.config"],
341357
swiftSettings: [
342358
.swiftLanguageMode(.v5),
343-
ndkVersionDefine
359+
ndkVersionDefine,
360+
sdkVersionDefine
344361
]
345362
),
346363
.target(
@@ -356,7 +373,8 @@ var package = Package(
356373
exclude: ["swift-java.config"],
357374
swiftSettings: [
358375
.swiftLanguageMode(.v5),
359-
ndkVersionDefine
376+
ndkVersionDefine,
377+
sdkVersionDefine
360378
]
361379
),
362380
.target(
@@ -370,7 +388,8 @@ var package = Package(
370388
exclude: ["swift-java.config"],
371389
swiftSettings: [
372390
.swiftLanguageMode(.v5),
373-
ndkVersionDefine
391+
ndkVersionDefine,
392+
sdkVersionDefine
374393
]
375394
),
376395
.target(
@@ -387,7 +406,8 @@ var package = Package(
387406
],
388407
swiftSettings: [
389408
.swiftLanguageMode(.v6),
390-
ndkVersionDefine
409+
ndkVersionDefine,
410+
sdkVersionDefine
391411
],
392412
linkerSettings: [
393413
.linkedLibrary("log", .when(platforms: [.android]))
@@ -408,7 +428,8 @@ var package = Package(
408428
],
409429
swiftSettings: [
410430
.swiftLanguageMode(.v6),
411-
ndkVersionDefine
431+
ndkVersionDefine,
432+
sdkVersionDefine
412433
],
413434
linkerSettings: [
414435
.linkedLibrary("android", .when(platforms: [.android]))

0 commit comments

Comments
 (0)