@mytec: iter2.1 ready for testing
This commit is contained in:
61
installer/build-mac.sh
Normal file
61
installer/build-mac.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo " RFCP Desktop Build (macOS)"
|
||||
echo "========================================="
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
# Check if running on macOS
|
||||
if [[ "$(uname)" != "Darwin" ]]; then
|
||||
echo "Error: This script must run on macOS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. Build frontend
|
||||
echo "[1/4] Building frontend..."
|
||||
cd frontend
|
||||
npm ci
|
||||
npm run build
|
||||
cd ..
|
||||
|
||||
# 2. Build backend with PyInstaller
|
||||
echo "[2/4] Building backend..."
|
||||
cd backend
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 -m pip install pyinstaller
|
||||
cd ../installer
|
||||
python3 -m PyInstaller rfcp-server.spec --clean --noconfirm
|
||||
mkdir -p ../desktop/backend-dist/darwin
|
||||
cp dist/rfcp-server ../desktop/backend-dist/darwin/
|
||||
cd ..
|
||||
|
||||
# 3. Create .icns icon if not exists
|
||||
if [ ! -f desktop/assets/icon.icns ]; then
|
||||
echo "Creating macOS icon..."
|
||||
mkdir -p icon.iconset
|
||||
sips -z 16 16 desktop/assets/icon.png --out icon.iconset/icon_16x16.png
|
||||
sips -z 32 32 desktop/assets/icon.png --out icon.iconset/icon_16x16@2x.png
|
||||
sips -z 32 32 desktop/assets/icon.png --out icon.iconset/icon_32x32.png
|
||||
sips -z 64 64 desktop/assets/icon.png --out icon.iconset/icon_32x32@2x.png
|
||||
sips -z 128 128 desktop/assets/icon.png --out icon.iconset/icon_128x128.png
|
||||
sips -z 256 256 desktop/assets/icon.png --out icon.iconset/icon_128x128@2x.png
|
||||
sips -z 256 256 desktop/assets/icon.png --out icon.iconset/icon_256x256.png
|
||||
sips -z 512 512 desktop/assets/icon.png --out icon.iconset/icon_256x256@2x.png
|
||||
sips -z 512 512 desktop/assets/icon.png --out icon.iconset/icon_512x512.png
|
||||
sips -z 1024 1024 desktop/assets/icon.png --out icon.iconset/icon_512x512@2x.png
|
||||
iconutil -c icns icon.iconset -o desktop/assets/icon.icns
|
||||
rm -rf icon.iconset
|
||||
fi
|
||||
|
||||
# 4. Build Electron app
|
||||
echo "[3/4] Building Electron app..."
|
||||
cd desktop
|
||||
npm ci
|
||||
npm run build:mac
|
||||
cd ..
|
||||
|
||||
# 5. Done
|
||||
echo "[4/4] Build complete!"
|
||||
ls -la desktop/dist/*.dmg 2>/dev/null || echo "DMG in desktop/dist/"
|
||||
Reference in New Issue
Block a user