diff options
Diffstat (limited to 'doc/HOWTO.md')
| -rw-r--r-- | doc/HOWTO.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/HOWTO.md b/doc/HOWTO.md index 36216fa..3a1aee2 100644 --- a/doc/HOWTO.md +++ b/doc/HOWTO.md @@ -46,6 +46,30 @@ cmake --build build ``` In this mode, the demo will always start in fullscreen. +### Final-Final Build (Maximum Stripping) + +For the absolute smallest binary (removing ALL error checking), use the `DEMO_FINAL_STRIP` option: + +```bash +# Method 1: CMake target (from normal build directory) +cd build +make final + +# Method 2: Convenience script (creates build_final/ directory) +./scripts/build_final.sh + +# Method 3: Manual CMake configuration +cmake -S . -B build_final -DDEMO_FINAL_STRIP=ON +cmake --build build_final +``` + +**⚠️ WARNING:** FINAL_STRIP removes ALL error checking (bounds checks, null checks, assertions). This saves ~500-600 bytes but means crashes will have no error messages. Use ONLY for final release builds, never for development or testing. + +**Build Mode Hierarchy:** +- **Debug**: Full error checking + debug features +- **STRIP_ALL**: Full error checking, no debug features (~64k target) +- **FINAL_STRIP**: No error checking, no debug features (absolute minimum size) + ### Developer Build (All Options) To enable all features at once (tests, tools, size optimizations, and stripping) for a comprehensive check: |
