postsack/postsack-native/build_mac.sh

33 lines
1005 B
Bash
Raw Normal View History

2021-12-17 13:26:41 +00:00
#!/bin/sh
set -e
rm -rf ../target/release/bundle/osx/Postsack.app
# Build for x86 and ARM
cargo build --release --target=aarch64-apple-darwin
cargo build --release --target=x86_64-apple-darwin
# Combine into a fat binary
lipo -create ../target/aarch64-apple-darwin/release/postsack ../target/x86_64-apple-darwin/release/postsack -output postsack
# Perform Cargo bundle to create a macOS Bundle
cargo bundle --release
# Override bundle binary with the fat one
# Also: We want to have `Postsack` capitalized on macOS, so we rename
rm ../target/release/bundle/osx/Postsack.app/Contents/MacOS/postsack
mv ./postsack ../target/release/bundle/osx/Postsack.app/Contents/MacOS/
# Tell the Info.plist or binary is capitalized
/usr/libexec/PlistBuddy -c "Set :CFBundleExecutable Postsack" "../target/release/bundle/osx/Postsack.app/Contents/Info.plist"
# Create a zip file
/usr/bin/zip -5 -r ../target/postsack.zip ../target/release/bundle/osx/Postsack.app
echo "Wrote zip file ../target/postsack.zip"