High-level bindings for OpenImageIO
The src directory contains the oiio crate.
The oiio crate provides a high-level safe API over the low-level oiio-sys crate.
The oiio-sys directory contains the oiio-sys crate.
oiio-sys uses cxx to wrap the C++ OpenImageIO API.
The oiio-sys crate should not be used directly.
Building the oiio-sys crates requires you to install the C++
OpenImageIO
library in order to build the oiio crate.
Add oiio to your Cargo.toml:
[dependencies]
oiio = "0.2.0"
The oiio crate is built using cargo build but you must ensure that
pkg-config is able to find your OpenImageIO installation.
If the C++ OpenImageIO library is installed to a non-system directory then
you must configure the PKG_CONFIG_PATH environment variable to point to the
lib*/pkgconfig directory inside the OpenImageIO installtion.
pkg-config is used by oiio-sys/build.rs in order to locate the
OpenImageIO libraries and C++ headers. If OpenImageIO is installed to a
global system location such as /usr/local then PKG_CONFIG_PATH does not
need to be configured. pkg-config searches in the system locations by default.
Build oiio and oiio-sys using cargo.
cargo build --allThe test suite in the tests directory is used to validate the oiio crate.
cargo test --all