#!/bin/bash # Builds .build/Snapshot.icns from Scripts/IconGenerator.swift. set -euo pipefail root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" build="$root/.build" iconset="$build/Snapshot.iconset" icns="$build/Snapshot.icns" # The generator only changes when its source does. if [[ -f "$icns" && "$icns" -nt "$root/Scripts/IconGenerator.swift" ]]; then exit 0 fi tmp="$(mktemp -d)" trap 'rm -rf "$tmp"' EXIT swiftc -O "$root/Scripts/IconGenerator.swift" -o "$tmp/icongen" rm -rf "$iconset" "$tmp/icongen" "$iconset" iconutil -c icns "$iconset" -o "$icns" rm -rf "$iconset" echo "make-icon: built $icns"