27 lines
890 B
Bash
Executable File
27 lines
890 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
OUT_DIR="${1:-$ROOT_DIR/build/ios-ffi}"
|
|
LIB_PATH="$ROOT_DIR/target/release/libtele_ios_ffi.a"
|
|
|
|
cd "$ROOT_DIR"
|
|
|
|
cargo build -p tele-ios-ffi --release
|
|
rm -rf "$OUT_DIR"
|
|
mkdir -p "$OUT_DIR/Swift" "$OUT_DIR/Headers" "$OUT_DIR/Modules"
|
|
|
|
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Swift" --swift-sources
|
|
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" --headers
|
|
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" \
|
|
--modulemap \
|
|
--module-name tele_ios_ffiFFI \
|
|
--modulemap-filename module.modulemap
|
|
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Modules" \
|
|
--xcframework \
|
|
--modulemap \
|
|
--module-name tele_ios_ffiFFI \
|
|
--modulemap-filename module.modulemap
|
|
|
|
printf 'Generated UniFFI Swift bindings in %s\n' "$OUT_DIR"
|