| Tool | Version | Notes |
|---|---|---|
| CMake | ≥ 3.22 | cmake.org |
| Ninja | Latest | ninja-build.org |
| C++20 Compiler | See below | Platform-specific |
| Git | Latest | For submodules |
- Windows: Visual Studio 2022 (MSVC v143)
- macOS: Xcode Command Line Tools (Apple Clang)
- Linux: Clang 14+ or GCC 12+
git clone --recursive https://github.com/MetaversalCorp/Halogen.git
cd HalogenIf you already cloned without --recursive:
git submodule update --init --recursivePrecompiled Filament libraries are downloaded automatically during the CMake
configure step if not found at external/filament/. No manual action needed.
To use a custom Filament build, set FILAMENT_SDK_DIR:
cmake -B build-ninja -G Ninja -DFILAMENT_SDK_DIR=/path/to/your/filamentTo change the Filament version:
cmake -B build-ninja -G Ninja -DFILAMENT_VERSION=1.71.0cmake -B build-ninja -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build-ninjaOpen a Developer PowerShell for VS 2022, or manually load the MSVC environment:
. scripts/vcvarsall.ps1
cmake -B build-ninja -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build-ninja| Type | Use |
|---|---|
Debug |
Development, full debug symbols |
Release |
Optimized, for benchmarks and distribution |
RelWithDebInfo |
Optimized with debug info |
ctest --test-dir build-ninja --output-on-failureOr run the test executable directly:
./build-ninja/DeviceTestCMakeLists.txt Root build file
├── cmake/
│ └── DownloadFilament.cmake Auto-download logic
├── external/
│ ├── anari-sdk/ ANARI SDK (submodule)
│ ├── corrade/ Corrade (submodule, testing only)
│ └── filament/ Downloaded automatically (git-ignored)
├── src/
│ ├── CMakeLists.txt Library + test targets
│ ├── Device.h/.cpp ANARI device → Filament
│ ├── Library.cpp ANARI library entry point
│ └── Test/
│ └── DeviceTest.cpp Corrade TestSuite tests
└── filament-sdk/ Downloaded automatically (git-ignored)
If behind a proxy or firewall, download manually from
GitHub Releases and extract to
filament-sdk/.
Install via your package manager:
- macOS:
brew install ninja - Linux:
sudo apt install ninja-build - Windows:
winget install Ninja-build.Ninjaor via Visual Studio Installer
On Windows, make sure you run from a VS Developer PowerShell or source the
environment first with scripts/vcvarsall.ps1.