Declarative 4k intro build system for Windows demoscene productions.
- More Blade/Bazel, less cmake - declarative targets instead of .sln wrangling
- One script to build, package, and submit - no manual mistakes at deadline
- Switch sound libs (4Klang, Sointu, Oidos, none) with a single flag
- Declarative
Targetdataclass: name, srcs, libs, flags, crinkler options - Audio library switch:
eNone,e4Klang,eSointu,eOidos - Debug (windowed, console) and release (fullscreen, crinkler compressed) builds
- Shader minification via shader_minifier
- Shader hot-reload watch mode
- Release artifact zip packaging
- Windows only, MSVC x86 32-bit toolchain
- 4KB demoscene size category
- Visual Studio 2019 or 2022
- Visual Studio 2019 or 2022 with C++ Desktop workload (x86 target)
- Python 3
- Crinkler - place
crinkler.exein project dir - Shader Minifier - place
shader_minifier.exein project dir
cd gfx4k
python targets.pygfx4k/ - Minimal 4k gfx example, accumulation rendering. Debug build has shader hot-reload, FPS counter, screenshot capture.
- Create folder next to
build.py - Copy-paste gfx4k
- Config in
targets.py - Run
py targets.py