Zig build system for OpenEXR Core - the pure C API for reading and writing OpenEXR files.
NOTE: This build system conversion from CMake to Zig involved significant AI/LLM assistance. Please review
build.zigto verify correctness for your use case.
- Pure C API - No C++ dependencies, suitable for FFI/bindings
- Full compression support - ZIP, ZIPS, RLE, PIZ, PXR24, B44, DWA
- F16C SIMD acceleration - Hardware half-float conversion on x86_64
- Cross-platform - Builds with Zig's cross-compilation support
# Debug build
zig build
# Release build
zig build -Doptimize=ReleaseFast
# Cross-compile example
zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseFastzig-out/lib/libopenexr.a- Static library (includes libdeflate)zig-out/include/OpenEXR/- OpenEXR Core headers
- JPEG-HT compression - Returns
EXR_ERR_FEATURE_NOT_IMPLEMENTED(requires OpenJPH C++ library)
All dependencies are fetched automatically via Zig's package manager:
| Dependency | Version | License |
|---|---|---|
| OpenEXR | 3.4.4 | BSD-3-Clause |
| libdeflate | 1.23 | MIT |
| Imath | 3.2.1 | BSD-3-Clause |
- Build scripts (
build.zig,build.zig.zon, config headers): MIT - OpenEXR and Imath: BSD-3-Clause
- libdeflate: MIT