Cargo Features

[dependencies]
uniffi = { version = "0.28.2", default-features = false, features = ["build", "bindgen", "cargo-metadata", "cli", "bindgen-tests", "tokio", "scaffolding-ffi-buffer-fns"] }
default = cargo-metadata

The cargo-metadata feature is set by default whenever uniffi is added without default-features = false somewhere in the dependency tree.

build

Support for features needed by the build.rs script. Enable this in your build-dependencies.

Enables uniffi_build

bindgen cli?

Support for uniffi_bindgen::{generate_bindings, generate_component_scaffolding}. Enable this feature for your uniffi-bindgen binaries if you don't need the full CLI.

Enables uniffi_bindgen

cargo-metadata default

Enables cargo_metadata ^0.15, cargo-metadata of optional uniffi_bindgen

cli = bindgen

Support for uniffi_bindgen_main(). Enable this feature for your uniffi-bindgen binaries.

Enables camino and clap

bindgen-tests

Support for running example/fixture tests for uniffi-bindgen. You probably don't need to enable this.

Enables bindgen-tests of uniffi_bindgen

tokio

Enable support for Tokio's futures. This must still be opted into on a per-function basis using #[uniffi::export(async_runtime = "tokio")].

Enables tokio of uniffi_core

scaffolding-ffi-buffer-fns

Generate extra scaffolding functions that use FfiBuffer to pass arguments and return values This is needed for the gecko-js bindings.

Enables scaffolding-ffi-buffer-fns of uniffi_core and uniffi_macros