Macro cargo_emit::pair [−][src]
macro_rules! pair {
(to : $stream : expr, $key : expr, $value : expr $(, $($args : tt) *) ?) => { ... };
($key : expr, $value : expr $(, $($args : tt) *) ?) => { ... };
}
Expand description
Emits a $key
/$value
pair to Cargo based on build script outputs.
This is equivalent to:
println!("cargo:$key=$value");
This is the base macro upon which the other macros are built.
Examples
This can be used to emit arbitrary user-defined metadata.
cargo_emit::pair!("root", "/path/to/root");
or, in case you want it to emit to a custom stream:
let mut stdout = std::io::stdout();
cargo_emit::pair!(
to: stdout,
"root", "/path/to/root"
);
The $key
and $value
parameters get concatenated into a single formatting
string. Formatting runtime values can be done by passing subsequent values.
let name = "foo";
cargo_emit::pair!("{lib}dir", "/path/to/{lib}", lib = name);