32 stable releases (6 major)
7.0.3 | Sep 22, 2024 |
---|---|
7.0.1 | Jun 18, 2024 |
6.2.2 | Mar 19, 2024 |
6.2.0 | Oct 31, 2023 |
1.3.2 | Jul 10, 2020 |
#5 in Build Utils
706,627 downloads per month
Used in 1,548 crates
(151 directly)
120KB
2.5K
SLoC
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.
For now only pkg-config
dependencies are supported, but we are planning to
expand it at some point.
Users can override dependency flags using environment variables if needed.
system-deps
also allows -sys
crates to optionally internally build and
static link the required system library.
system-deps
has been started as a fork of the
metadeps project.
Documentation
See the crate documentation.
Usage
In your Cargo.toml
:
[build-dependencies]
system-deps = "2.0"
Then, to declare a dependency on testlib >= 1.2
add the following section:
[package.metadata.system-deps]
testlib = "1.2"
Finally, in your build.rs
, add:
fn main() {
system_deps::Config::new().probe().unwrap();
}
See the crate documentation for more advanced features.
Dependencies
~3MB
~60K SLoC