Ariver
2026-08-28 c5bdc7f1eb3ff4287beeeebb17d4f02f376a8d38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
set -euo pipefail
 
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
APP_NAME="TagLauncher"
BUILD_DIR="$PROJECT_DIR/build"
APP_BUNDLE="$BUILD_DIR/$APP_NAME.app"
DMG_NAME="$APP_NAME.dmg"
DMG_PATH="$BUILD_DIR/$DMG_NAME"
STAGING="$BUILD_DIR/dmg_staging"
 
echo "==> Preparing DMG staging..."
rm -rf "$STAGING"
mkdir -p "$STAGING"
 
echo "==> Copying $APP_NAME.app..."
cp -R "$APP_BUNDLE" "$STAGING/"
 
echo "==> Creating Applications symlink..."
ln -s /Applications "$STAGING/Applications"
 
echo "==> Creating DMG..."
hdiutil create \
    -volname "$APP_NAME" \
    -srcfolder "$STAGING" \
    -ov \
    -format UDZO \
    -imagekey zlib-level=9 \
    "$DMG_PATH"
 
echo "==> Cleaning up staging..."
rm -rf "$STAGING"
 
SIZE=$(du -sh "$DMG_PATH" | awk '{print $1}')
echo ""
echo "✅ DMG created: $DMG_PATH ($SIZE)"
echo "   Open: open $DMG_PATH"