diff options
| author | skal <pascal.massimino@gmail.com> | 2026-01-28 09:55:21 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-01-28 09:55:21 +0100 |
| commit | c0c71c164483b00c084b53b098f91057ad65135f (patch) | |
| tree | 1d39f00e1f6de0477ebb8f7f61b9e4b3bd21cf02 | |
| parent | 438333cf6f1dcd9f8d6a94fc702a952b070353b4 (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.txt | 8 | ||||
| -rw-r--r-- | HOWTO.md | 8 |
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} +) @@ -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 |
