summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/crunch_demo.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/crunch_demo.sh b/scripts/crunch_demo.sh
new file mode 100755
index 0000000..333faa9
--- /dev/null
+++ b/scripts/crunch_demo.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Build a size-optimized binary and compress it with UPX.
+
+set -e
+
+if ! command -v upx >/dev/null 2>&1; then
+ echo "Error: upx is not installed or not in PATH."
+ echo "Please install it using 'brew install upx' or from https://github.com/upx/upx"
+ exit 1
+fi
+
+echo "Building stripped binary..."
+cmake -S . -B build_strip -DDEMO_STRIP_ALL=ON
+cmake --build build_strip
+
+SRC_BIN="build_strip/demo64k"
+OUT_BIN="build_strip/demo64k_packed"
+
+echo "Compressing with UPX..."
+upx --best --lzma -o "$OUT_BIN" "$SRC_BIN"
+
+echo "Done."
+ls -lh "$SRC_BIN" "$OUT_BIN"