Skip to content

Commit 28cc51f

Browse files
authored
Add macOS catalyst builds to XCFramework (#173)
1 parent 308308f commit 28cc51f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tool/build_xcframework.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ TARGETS=(
1414
aarch64-apple-darwin
1515
x86_64-apple-darwin
1616

17+
# macOS catalyst
18+
aarch64-apple-ios-macabi
19+
x86_64-apple-ios-macabi
20+
1721
# watchOS and simulator
1822
aarch64-apple-watchos
1923
aarch64-apple-watchos-sim
@@ -124,6 +128,17 @@ function createXcframework() {
124128
# Generate dSYM for macOS
125129
dsymutil "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core" -o "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework.dSYM"
126130

131+
echo "===================== create macos catalyst framework ====================="
132+
mkdir -p "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/A/Resources"
133+
echo "${macos_plist}" > "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/A/Resources/Info.plist"
134+
lipo ./target/aarch64-apple-ios-macabi/release_apple/libpowersync.dylib ./target/x86_64-apple-ios-macabi/release_apple/libpowersync.dylib -create -output "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
135+
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
136+
ln -sf A "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/Current"
137+
ln -sf Versions/Current/powersync-sqlite-core "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/powersync-sqlite-core"
138+
ln -sf Versions/Current/Resources "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Resources"
139+
# Generate dSYM for macOS
140+
dsymutil "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core" -o "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework.dSYM"
141+
127142
echo "===================== create watchos device framework ====================="
128143
mkdir -p "${BUILD_DIR}/watchos-arm64_arm64_32_armv7k/powersync-sqlite-core.framework/"
129144
echo "${watchos_plist}" > "${BUILD_DIR}/watchos-arm64_arm64_32_armv7k/powersync-sqlite-core.framework/Info.plist"
@@ -162,6 +177,8 @@ function createXcframework() {
162177
-debug-symbols "$(pwd -P)/${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework.dSYM" \
163178
-framework "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework" \
164179
-debug-symbols "$(pwd -P)/${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework.dSYM" \
180+
-framework "${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework" \
181+
-debug-symbols "$(pwd -P)/${BUILD_DIR}/ios-arm64_x86_64-maccatalyst/powersync-sqlite-core.framework.dSYM" \
165182
-framework "${BUILD_DIR}/watchos-arm64_arm64_32_armv7k/powersync-sqlite-core.framework" \
166183
-framework "${BUILD_DIR}/watchos-arm64_x86_64-simulator/powersync-sqlite-core.framework" \
167184
-framework "${BUILD_DIR}/tvos-arm64/powersync-sqlite-core.framework" \

0 commit comments

Comments
 (0)