18 lines
560 B
Bash
18 lines
560 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
project_root="$(cd "$(dirname "$0")/.." && pwd)"
|
|
source_icon="$project_root/resources/icon.png"
|
|
iconset="$project_root/build/icon.iconset"
|
|
output="$project_root/build/icon.icns"
|
|
|
|
mkdir -p "$iconset"
|
|
for size in 16 32 128 256 512; do
|
|
sips -z "$size" "$size" "$source_icon" --out "$iconset/icon_${size}x${size}.png" >/dev/null
|
|
retina=$((size * 2))
|
|
sips -z "$retina" "$retina" "$source_icon" --out "$iconset/icon_${size}x${size}@2x.png" >/dev/null
|
|
done
|
|
iconutil -c icns "$iconset" -o "$output"
|
|
echo "Created $output"
|
|
|