russimp-sys russimp-sys Crates.io

Unsafe Rust bindings for the Open Asset Import Library (assimp).
See: Our safe assimp Rust library

Raw bindings for the C API of assimp.

Platform Support

We build, test, and provide prebuilt packages for the following targets: - x8664-pc-windows-msvc - x8664-apple-darwin - x86_64-unknown-linux-gnu

Additional targets that work when building from source: - aarch64-apple-darwin (M1 Macs, cross-compiled on x86_64.) - aarch64-unknown-linux-gnu (Raspberry Pi 4b, built on the machine itself.)

Platforms that are not supported and won't build: - x86_64-pc-windows-gnu (See: assimp/4686)

Installation

By default russimp-sys is looking for the assimp library in the system.
However there are many ways for the crate to install the library for you by specifying these crate features:

prebuilt

This features will download a prebuilt package from this repo's release page, these packages are built and published automatically every time we release a new version.

In addition, you can specify a local package by setting the RUSSIMP_PACKAGE_DIR environment variable to the path of the package. You can run the provided package binary to generate a package for your platform.

cargo run --bin package --features <INSERT-LINK-TYPE>

build-assimp or static-link

The build-assimp feature will build the library from source and link it dynamically.
The static-link feature will build the library from source and link it statically.

Building from source requires the following dependencies: - CMake - libclang (for bindgen) - A C/C++ compiler - RECOMMENDED: Ninja (For Windows users the buildscript automatically uses Ninja if it finds it in the PATH)

Additional Features:

nozlib

By default russimp-sys will statically link zlibstatic. Enabling this feature will link to the system's zlib library.

Changelog

2.0.0