conan2-rs
Introduction
conan2-rs is a Cargo build script wrapper of the Conan C/C++ package manager
(version 2.0 only).
It automatically pulls the C/C++ library linking flags from Conan dependencies
and passes them to rustc.
Adding C/C++ dependencies using Conan
The simplest way to add C/C++ dependencies to a Rust project using Conan
is to add a plain conanfile.txt file as follows:
[requires]
libxml2/2.11.4
openssl/3.1.3
zlib/1.3
Example usage
Add conan2 to the Cargo.toml build dependencies section:
[]
= "0.1"
Add the following lines to the project build.rs script to invoke conan install
and pass the Conan dependency information to Cargo automatically:
use ConanInstall;
The most commonly used build_type Conan setting will be defined automatically
depending on the current Cargo build profile: Debug or Release.
The Conan executable is assumed to be named conan unless
the CONAN environment variable is set to override.
An example Rust crate using conan2-rs to link Conan dependencies
can also be found in the project repository.
Advanced usage
Using custom Conan profiles with names derived from the Cargo target information:
use ConanInstall;
Getting C/C++ include paths from Conan dependencies
To use the list of include paths, do the following after
parsing the conan install output:
use ConanInstall;
let metadata = new.run.parse;
for path in metadata.include_paths
metadata.emit;