External dependencies:
- Odin compiler
- Vulkan SDK (includes slangc)
- CMake
- Premake5
- A C++ toolchain (MSVC on Windows, GCC/Clang on Linux)
vcpkg(Windows only, set VCPKG_ROOT or put it on PAHT)watchexec(optional, for shader watch mode)
git submodule update --init --recursive
Windows (PowerShell):
./build.ps1Linux (shell):
./build.shThese scripts build both internal dependencies (lib/msdfgen and lib/vma).
Expected outputs include:
lib/msdfgen/build/Release/msdfgen-c.lib(Windows) orlib/msdfgen/build/libmsdfgen-c.a(Linux)lib/msdfgen/build/Release/msdfgen-ext-c.lib(Windows) orlib/msdfgen/build/libmsdfgen-ext-c.a(Linux)lib/vma/vma_windows_x86_64.lib(Windows)lib/vma/libvma_linux_x86_64.a(Linux x86_64)
odin run demo
Install watchexec if you want live shader rebuilds with the watch scripts.
shader_compile scripts only require slangc.
Linux shell:
cd assets
./shader_compile.sh
./watch.sh
Windows PowerShell:
powershell -ExecutionPolicy Bypass -File .\assets\shader_compile.ps1
powershell -ExecutionPolicy Bypass -File .\assets\watch.ps1
- Missing
.lib/.aartifacts: rebuildlib/msdfgenandlib/vmaand confirm output paths above. watchexecnot found when running watch scripts: installwatchexecwith your platform package manager, then rerunassets/watch.shorassets/watch.ps1.- Missing Vulkan loader/runtime: install Vulkan runtime and ensure loader is available (
vulkan-1.dllon Windows,libvulkan.so.1on Linux). - Missing validation layer: install Vulkan SDK/layers and re-run validation scripts.
- Missing build tools required by
build.ps1/build.sh: open the correct developer shell or install/configure the required toolchain and rerun the script.