#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SVG="$SCRIPT_DIR/au-o2-gui/assets/icon.svg" ASSETS="$SCRIPT_DIR/au-o2-gui/assets" if [ ! -f "$SVG" ]; then echo "No icon.svg found at $SVG — skipping icon generation." exit 0 fi if ! command -v rsvg-convert &>/dev/null; then echo "rsvg-convert not found. Install with: brew install librsvg" exit 1 fi case "$OSTYPE" in darwin*) ICONSET="$ASSETS/icon.iconset" rm -rf "$ICONSET" mkdir -p "$ICONSET" rsvg-convert -w 16 -h 16 "$SVG" -o "$ICONSET/icon_16x16.png" rsvg-convert -w 32 -h 32 "$SVG" -o "$ICONSET/icon_16x16@2x.png" cp "$ICONSET/icon_16x16@2x.png" "$ICONSET/icon_32x32.png" rsvg-convert -w 64 -h 64 "$SVG" -o "$ICONSET/icon_32x32@2x.png" rsvg-convert -w 128 -h 128 "$SVG" -o "$ICONSET/icon_128x128.png" rsvg-convert -w 256 -h 256 "$SVG" -o "$ICONSET/icon_128x128@2x.png" cp "$ICONSET/icon_128x128@2x.png" "$ICONSET/icon_256x256.png" rsvg-convert -w 512 -h 512 "$SVG" -o "$ICONSET/icon_256x256@2x.png" cp "$ICONSET/icon_256x256@2x.png" "$ICONSET/icon_512x512.png" rsvg-convert -w 1024 -h 1024 "$SVG" -o "$ICONSET/icon_512x512@2x.png" iconutil -c icns "$ICONSET" -o "$ASSETS/icon.icns" rm -rf "$ICONSET" echo "Generated icon.icns" ;; msys*|cygwin*|win*) ICO_DIR="$ASSETS/icon.iconset" rm -rf "$ICO_DIR" mkdir -p "$ICO_DIR" for size in 16 32 48 64 128 256; do rsvg-convert -w "$size" -h "$size" "$SVG" -o "$ICO_DIR/${size}.png" done if command -v magick &>/dev/null; then magick "$ICO_DIR/16.png" "$ICO_DIR/32.png" "$ICO_DIR/48.png" \ "$ICO_DIR/64.png" "$ICO_DIR/128.png" "$ICO_DIR/256.png" \ "$ASSETS/icon.ico" rm -rf "$ICO_DIR" echo "Generated icon.ico" else echo "PNGs rendered to $ICO_DIR — install ImageMagick to assemble .ico" fi ;; *) echo "No icon conversion needed for $OSTYPE" ;; esac