- CMake: Version 3.25 or later
- Vulkan SDK: Latest version with
VULKAN_SDKenvironment variable set - C++ Compiler:
- Visual Studio 2022+ (Windows)
- GCC 11+ or Clang 14+ (Linux)
- Build System:
- Visual Studio 2022+ (includes Ninja)
- Ninja (standalone for Linux or command-line builds)
- vcpkg: Integrated for dependency management
- Windows: Open "Developer Command Prompt for Visual Studio"
- Linux: Open a terminal with development tools in PATH
cd Playgroundcmake --preset=vsThis generates a Visual Studio 2022 solution in the build folder.
Release Build:
cmake --preset=ninjaDebug Build:
cmake --preset=ninja -DCMAKE_BUILD_TYPE=Debug- Open the solution file in the
buildfolder - Build from within Visual Studio (Ctrl+Shift+B)
cd build
ninjaBuild artifacts are placed in the bin folder:
- Executables:
bin/ - Libraries:
bin/
To update vcpkg baseline for all configurations:
vcpkg x-update-baselineRun static analysis:
cppcheck src --check-level=exhaustive --quiet --std=c++20 --enable=style,performance,portability --suppress=cstyleCast --suppress=useStlAlgorithmAutomatically runs during Ninja builds (configured in CMakeLists.txt).
For Visual Studio: Using Clang-Tidy in Visual Studio
Ensure the VULKAN_SDK environment variable is set and points to your Vulkan SDK installation.
Try clearing the vcpkg cache:
vcpkg remove --outdated
vcpkg integrate installVerify your compiler supports C++20:
- Visual Studio 2022 or later
- GCC 11+ or Clang 14+
- Dear ImGui
- GLFW
- gtest
- nlohmann/json
- OpenImageIO
- Shaderc
- slang (included with Vulkan SDK)
- SPIRV-Reflect
- SPIRV-Tools
- volk
- zlib