60 lines
2.1 KiB
Bash
Executable File
60 lines
2.1 KiB
Bash
Executable File
#!/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
|