#!/bin/bash # https://github.com/create-dmg/create-dmg/tree/master?tab=readme-ov-file#create-dmg NAME='Martian Chess.app' APP="platforms/macos/$NAME" CONTENTS="$APP/Contents" GAME="$CONTENTS/MacOS" RESOURCES="$CONTENTS/Resources" FRAMEWORKS="$CONTENTS/Frameworks" mkdir -p "$APP" mkdir -p "$GAME" mkdir -p "$RESOURCES" mkdir -p "$FRAMEWORKS" # Copy icons to package cp -f media/MartianChess.icns "$RESOURCES" # Generate cross-architecture binary rm -f "$GAME/MartianChess" lipo "target/x86_64-apple-darwin/release/martian-chess" \ "target/aarch64-apple-darwin/release/martian-chess" \ -create -output "$GAME/MartianChess" # Copy assets rm -rf "$GAME/assets" cp -r assets "$GAME/" # Copy fmod libraries cp -f lib/macos/libfmod.dylib "$FRAMEWORKS/" cp -f lib/macos/libfmodstudio.dylib "$FRAMEWORKS/" # Update dynamic linking search paths install_name_tool -change @rpath/libfmod.dylib "@loader_path/../Frameworks/libfmod.dylib" "$GAME/MartianChess" install_name_tool -change @rpath/libfmodstudio.dylib "@loader_path/../Frameworks/libfmodstudio.dylib" "$GAME/MartianChess" # Build dmg file rm -f packages/martian_chess.dmg create-dmg \ --volname "Martian Chess" \ --volicon "media/MartianChess.icns" \ --window-pos 200 120 \ --window-size 800 400 \ --app-drop-link 600 200 \ --icon-size 100 \ --icon "$NAME" 200 190 \ --hide-extension "$NAME" \ --app-drop-link 600 185 \ "packages/Martian Chess.dmg" \ ./platforms/macos/