30 lines
986 B
Bash
Executable file
30 lines
986 B
Bash
Executable file
#!/usr/bin/env bash
|
|
source "$(dirname "$0")/common.sh"
|
|
macos_only
|
|
|
|
# The composited Sonoma icon is committed as 1024px RGBA. The transparent
|
|
# outer margins and squircle silhouette must be preserved at every scale.
|
|
# The art grid in AppIconGrid.svg is never embedded in production images.
|
|
master="$ROOT/Resources/AppIcon.png"
|
|
if [[ ! -s "$master" ]]; then
|
|
echo "Missing icon master: $master" >&2
|
|
exit 1
|
|
fi
|
|
|
|
iconset="$ROOT/build/macoc.iconset"
|
|
rm -rf "$iconset"
|
|
mkdir -p "$iconset"
|
|
|
|
for size in 16 32 128 256 512; do
|
|
sips -s format png -z "$size" "$size" "$master" \
|
|
--out "$iconset/icon_${size}x${size}.png" >/dev/null
|
|
done
|
|
|
|
for specification in "16 32" "32 64" "128 256" "256 512" "512 1024"; do
|
|
read -r name pixels <<<"$specification"
|
|
sips -s format png -z "$pixels" "$pixels" "$master" \
|
|
--out "$iconset/icon_${name}x${name}@2x.png" >/dev/null
|
|
done
|
|
|
|
mkdir -p "$APP_PATH/Contents/Resources"
|
|
iconutil -c icns "$iconset" -o "$APP_PATH/Contents/Resources/AppIcon.icns"
|