[−][src]Crate system_deps
system-deps
lets you write system dependencies in Cargo.toml
metadata,
rather than programmatically in build.rs
. This makes those dependencies
declarative, so other tools can read them as well.
Then, to declare a dependency on testlib >= 1.2
, a conditional dependency
on testdata >= 4.5
and a dependency on glib-2.0 >= 2.64
add the following section:
[package.system-deps]
testlib = "1.2"
testdata = { version = "4.5", feature = "use-testdata" }
glib = { name = "glib-2.0", version = "2.64" }
In your build.rs
, add:
fn main() { system_deps::Config::new().probe().unwrap(); }
Dependency versions can also be controlled using features:
[features]
v1_2 = []
v1_4 = ["v1_4"]
[package.system-deps]
gstreamer = { name = "gstreamer-1.0", version = "1.0", feature-versions = { v1_2 = "1.2", v1_4 = "1.4" }}
In this case the highest version among enabled features will be used.
Structs
Config | Structure used to configure |
Library | A system dependency |
Enums
BuildInternalClosureError | Error used in return value of |
Error | system-deps errors |
Source | From where the library settings have been retrieved |