Skip to content

Commit 72198b9

Browse files
committed
Honor Apple deployment targets in SDK builds
1 parent 04f1c57 commit 72198b9

2 files changed

Lines changed: 21 additions & 10 deletions

File tree

.github/scripts/build-swift-xcframework.sh

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,27 @@ CHECKSUM_PATH="$DIST_DIR/OndeFramework.checksum.txt"
1313
VERSION_PATH="$DIST_DIR/version.txt"
1414
BINDGEN="$ROOT_DIR/uniffi-bindgen/target/release/uniffi-bindgen"
1515

16+
IOS_DEPLOYMENT_TARGET="${IOS_DEPLOYMENT_TARGET:-16.0}"
17+
MACOS_DEPLOYMENT_TARGET="${MACOS_DEPLOYMENT_TARGET:-14.0}"
18+
TVOS_DEPLOYMENT_TARGET="${TVOS_DEPLOYMENT_TARGET:-16.0}"
19+
VISIONOS_DEPLOYMENT_TARGET="${VISIONOS_DEPLOYMENT_TARGET:-1.0}"
20+
WATCHOS_DEPLOYMENT_TARGET="${WATCHOS_DEPLOYMENT_TARGET:-9.0}"
21+
1622
rm -rf "$FRAMEWORK_DIR" "$ZIP_PATH" "$CHECKSUM_PATH" "$VERSION_PATH"
1723
mkdir -p "$DIST_DIR" "$PACKAGE_DIR/Sources/Onde" "$HEADERS_DIR"
1824

1925
cargo +1.92.0 build --manifest-path uniffi-bindgen/Cargo.toml --release
2026

2127
# Build staticlibs only. Avoid the cdylib link step; the XCFramework consumes .a slices.
22-
cargo +1.92.0 rustc --target aarch64-apple-ios --release --lib --crate-type staticlib
23-
cargo +1.92.0 rustc --target aarch64-apple-ios-sim --release --lib --crate-type staticlib
24-
cargo +1.92.0 rustc --target aarch64-apple-darwin --release --lib --crate-type staticlib
25-
cargo +nightly rustc -Z build-std --target aarch64-apple-tvos --release --lib --crate-type staticlib
26-
cargo +nightly rustc -Z build-std --target aarch64-apple-tvos-sim --release --lib --crate-type staticlib
27-
cargo +nightly rustc -Z build-std --target aarch64-apple-visionos --release --lib --crate-type staticlib
28-
cargo +nightly rustc -Z build-std --target aarch64-apple-visionos-sim --release --lib --crate-type staticlib
29-
cargo +nightly rustc -Z build-std --target aarch64-apple-watchos --release --lib --crate-type staticlib
30-
cargo +nightly rustc -Z build-std --target aarch64-apple-watchos-sim --release --lib --crate-type staticlib
28+
IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-ios --release --lib --crate-type staticlib
29+
IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-ios-sim --release --lib --crate-type staticlib
30+
MACOSX_DEPLOYMENT_TARGET="$MACOS_DEPLOYMENT_TARGET" cargo +1.92.0 rustc --target aarch64-apple-darwin --release --lib --crate-type staticlib
31+
TVOS_DEPLOYMENT_TARGET="$TVOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-tvos --release --lib --crate-type staticlib
32+
TVOS_DEPLOYMENT_TARGET="$TVOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-tvos-sim --release --lib --crate-type staticlib
33+
XROS_DEPLOYMENT_TARGET="$VISIONOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-visionos --release --lib --crate-type staticlib
34+
XROS_DEPLOYMENT_TARGET="$VISIONOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-visionos-sim --release --lib --crate-type staticlib
35+
WATCHOS_DEPLOYMENT_TARGET="$WATCHOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-watchos --release --lib --crate-type staticlib
36+
WATCHOS_DEPLOYMENT_TARGET="$WATCHOS_DEPLOYMENT_TARGET" cargo +nightly rustc -Z build-std --target aarch64-apple-watchos-sim --release --lib --crate-type staticlib
3137

3238
"$BINDGEN" generate "$ROOT_DIR/target/aarch64-apple-ios/release/libonde.a" --language swift --out-dir "$PACKAGE_DIR/Sources/Onde"
3339

sdk/kotlin/scripts/build-jvm.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ platform_ext() {
7777
PLATFORM="$(detect_platform)"
7878
TARGET_TRIPLE="${ONDE_TARGET_TRIPLE:-$(platform_to_triple "$PLATFORM")}"
7979
LIB_EXT="$(platform_ext "$PLATFORM")"
80+
MACOS_DEPLOYMENT_TARGET="${MACOS_DEPLOYMENT_TARGET:-14.0}"
8081

8182
echo "=== Building Onde for JVM (profile: $PROFILE) ==="
8283
echo "Platform: $PLATFORM"
@@ -93,7 +94,11 @@ if [[ "$PROFILE" == "release" ]]; then
9394
fi
9495

9596
echo "→ cargo ${CARGO_ARGS[*]}"
96-
cargo "${CARGO_ARGS[@]}"
97+
if [[ "$PLATFORM" == macos-* ]]; then
98+
MACOSX_DEPLOYMENT_TARGET="$MACOS_DEPLOYMENT_TARGET" cargo "${CARGO_ARGS[@]}"
99+
else
100+
cargo "${CARGO_ARGS[@]}"
101+
fi
97102

98103
# ── Copy to resources ──────────────────────────────────────────────────────────
99104

0 commit comments

Comments
 (0)