Building¶
This guide covers building Skewer from source. See Installation for dependency setup.
Don't want to build Skewer?
Pre-built binaries are available for every release. See the Pre-built Binaries guide.
Using CMake Presets¶
The project uses CMake presets for consistent builds. All build commands use
--parallel 4 to avoid maxing out your CPU — adjust up if you have a dedicated
build machine.
# List available presets
cmake --list-presets
# Configure a preset
cmake --preset relwithdebinfo
# Build with a preset
cmake --build --preset relwithdebinfo --parallel 4
Available Presets¶
| Preset | Description |
|---|---|
relwithdebinfo |
Default - Release build with debug symbols (recommended) |
debug |
Debug build with symbols, no optimizations |
release |
Optimized release build (-O3) |
release-portable |
Optimized release build for portable binary bundles |
ci |
CI build with tests enabled |
See the full preset list in the CLI Reference for all available presets, including asan and release-milan.
Build Outputs¶
After building, binaries are located in build/<preset>/:
build/relwithdebinfo/
├── skewer/
│ ├── skewer-render # Main rendering CLI
│ └── skewer-worker # Worker for distributed renders
├── loom/
│ ├── loom # Deep compositor
│ └── loom-worker # Worker for deep compositing
├── libs/exrio/ # EXR library
└── api/ # Compiled protobuf C++ files
Running Tests¶
# Build and run tests
cmake --preset ci
cmake --build --preset ci --parallel 4
ctest --preset ci --parallel 4
Building the Go CLI¶
The Go CLI and Coordinator are built separately from the C++ codebase:
# Ensure Go dependencies are installed
cd orchestration
go mod download
# Build CLI
go build -o skewer-cli ./cmd/cli/
# Build Coordinator
go build -o coordinator ./cmd/coordinator/
The built binaries will be in orchestration/.
Troubleshooting¶
CMake can't find dependencies¶
If CMake can't find dependencies, you may need to specify paths:
Build errors on macOS¶
If you encounter Apple Silicon build issues, ensure you're using the correct architecture:
See Also¶
- Local Development — Running and testing after building
- Quick Start — Render your first scene
- CLI Reference — Full command-line documentation
Clean rebuild¶
To perform a clean rebuild: