summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-01-28 09:55:21 +0100
committerskal <pascal.massimino@gmail.com>2026-01-28 09:55:21 +0100
commitc0c71c164483b00c084b53b098f91057ad65135f (patch)
tree1d39f00e1f6de0477ebb8f7f61b9e4b3bd21cf02
parent438333cf6f1dcd9f8d6a94fc702a952b070353b4 (diff)
feat(build): Add 'final' CMake target for production assembly
Introduces a 'final' target that automates the entire production pipeline: building the stripped binary, generating assets, and performing final compression (crunching). - Updated CMakeLists.txt to define the 'final' target. - Updated HOWTO.md with instructions for running 'cmake --build build --target final'.
-rw-r--r--CMakeLists.txt8
-rw-r--r--HOWTO.md8
2 files changed, 14 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f752a63..e95c4dc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -189,3 +189,11 @@ if(DEMO_BUILD_TOOLS)
)
target_include_directories(specview PRIVATE src)
endif()
+
+# Final assembly target (strip and pack)
+add_custom_target(final
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/crunch_demo.sh
+ DEPENDS demo64k
+ COMMENT "Performing final assembly (crunching)..."
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)
diff --git a/HOWTO.md b/HOWTO.md
index 1f2560c..605fdff 100644
--- a/HOWTO.md
+++ b/HOWTO.md
@@ -42,12 +42,16 @@ In this mode, the demo will always start in fullscreen.
### Packed Build (Binary Crunching)
-To build the stripped binary and compress it using `UPX`, run the provided script:
+To build the stripped binary and compress it, run the `final` target:
```bash
+cmake --build build --target final
+```
+Alternatively, you can run the script directly:
+```bash
./scripts/crunch_demo.sh
```
-This requires `UPX` to be installed.
+This requires `gzexe` (macOS) or `UPX` (Linux/Windows) to be installed.
## Testing