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 --all
The test suite in the tests
directory is used to validate the oiio
crate.
cargo test --all