From 9d654ada668b9ae8a71a34904a65395238567973 Mon Sep 17 00:00:00 2001 From: San Jacobs Date: Sun, 21 Dec 2025 17:52:52 +0100 Subject: Epic new build.sh for MacOS that makes .app bundles --- build.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) (limited to 'build.sh') diff --git a/build.sh b/build.sh index d5e8c38..678db80 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,48 @@ -odin build src/ -resource:src/graphics/macos.rc -debug -pdb-name:bin/better-report.pdb -out:bin/better-report -odin build src/ -resource:src/graphics/macos.rc -o:speed -out:bin/release/better-report +mkdir -p bin/release +odin build src/ -debug -out:bin/better-report +odin build src/ -o:speed -out:bin/release/better-report chmod +x bin/better-report -chmod +x bin/release/better-report \ No newline at end of file +chmod +x bin/release/better-report + +# Create macOS .app bundle +APP_NAME="Better Report" +APP_DIR="bin/release/${APP_NAME}.app" +rm -rf "$APP_DIR" +mkdir -p "$APP_DIR/Contents/MacOS" +mkdir -p "$APP_DIR/Contents/Resources" + +cp bin/release/better-report "$APP_DIR/Contents/MacOS/better-report-bin" + +# Create launcher script that opens Terminal +cat > "$APP_DIR/Contents/MacOS/better-report" << 'LAUNCHER' +#!/bin/bash +DIR="$(cd "$(dirname "$0")" && pwd)" +osascript -e "tell application \"Terminal\" to do script \"'$DIR/better-report-bin'; exit\"" +LAUNCHER +chmod +x "$APP_DIR/Contents/MacOS/better-report" + +# Copy icon +cp src/graphics/logo.icns "$APP_DIR/Contents/Resources/AppIcon.icns" + +cat > "$APP_DIR/Contents/Info.plist" << EOF + + + + + CFBundleExecutable + better-report + CFBundleIconFile + AppIcon + CFBundleIdentifier + com.wassimulator.better-report + CFBundleName + Better Report + CFBundlePackageType + APPL + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + + +EOF -- cgit v1.2.1