- CMake 3.20+
- vcpkg (expected at
D:/vcpkg— editMakefileto change) - GNU Make
- A C++20 compiler (MSVC, Clang, GCC)
- Vulkan-capable GPU and drivers
make build
make run- Installs dependencies via vcpkg (Vulkan, GLFW, GLM, Dear ImGui, stb, LZ4)
- Configures the CMake project
- Compiles shaders to SPIR-V
- Packs shaders and textures into
assets.pak(LZ4-compressed) - Builds the executable
- Prints a build report with compiler, generator, duration, and executable location
| Target | Description |
|---|---|
make build |
Configure (if needed) and build to build/generic/ |
make build VS=22 |
Build targeting Visual Studio 2022 (build/vs22/) |
make build VS=26 |
Build targeting Visual Studio 2026 (build/vs26/) |
make run |
Build and run |
make clean |
Clean build artifacts |
make rebuild |
Clean then build |
All targets accept the optional VS=22 or VS=26 argument to use a Visual Studio generator.
Every build prints a summary report including:
- Compiler — full path to the C++ compiler used
- Generator — the CMake generator (e.g. Visual Studio 18 2026)
- Duration — wall-clock build time in seconds
- Executable — output path and file size in bytes
The report appears for build, rebuild, and run targets.
build/
├── generic/ Default build output (no VS= specified)
├── vs22/ Visual Studio 2022 build output
└── vs26/ Visual Studio 2026 build output
The Makefile defaults to D:/vcpkg. To override without editing the file:
make build VCPKG_ROOT=C:/path/to/vcpkg.\startvs.ps1 # Auto-detect the best installed VS
.\startvs.ps1 -t 2026 # Visual Studio 2026
.\startvs.ps1 -t 2022 # Visual Studio 2022This will generate the solution if needed (or regenerate if files are missing) and launch VS. When multiple editions are installed, the script prefers Enterprise > Professional > Community.