Initial commit
This commit is contained in:
34
cmake/generate_icns.sh
Executable file
34
cmake/generate_icns.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 2 ]]; then
|
||||
echo "Usage: $0 <source.png> <output.icns>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SRC="$1"
|
||||
OUT="$2"
|
||||
WORKDIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$WORKDIR"' EXIT
|
||||
|
||||
ICONSET="$WORKDIR/AppIcon.iconset"
|
||||
mkdir -p "$ICONSET"
|
||||
|
||||
make_icon() {
|
||||
local name="$1"
|
||||
local size="$2"
|
||||
sips -z "$size" "$size" "$SRC" --out "$ICONSET/$name" >/dev/null
|
||||
}
|
||||
|
||||
make_icon icon_16x16.png 16
|
||||
make_icon icon_16x16@2x.png 32
|
||||
make_icon icon_32x32.png 32
|
||||
make_icon icon_32x32@2x.png 64
|
||||
make_icon icon_128x128.png 128
|
||||
make_icon icon_128x128@2x.png 256
|
||||
make_icon icon_256x256.png 256
|
||||
make_icon icon_256x256@2x.png 512
|
||||
make_icon icon_512x512.png 512
|
||||
make_icon icon_512x512@2x.png 1024
|
||||
|
||||
iconutil -c icns "$ICONSET" -o "$OUT"
|
||||
Reference in New Issue
Block a user