Cargo GN integration

Build Status

https://crates.io/crates/cargo_gn

This package allows Rust users to quickly hook into the GN build system. It provides built-in gn and ninja tools that hook semi-automatically into Cargo's build.rs.

Put the following in your Cargo.toml

toml [build-dependencies] cargo_gn = "0.0.5"

Now you should be able to add a .gn file in the root of your project and start using BUILD.gn. See the example directory for a complete example: https://github.com/denoland/cargo_gn/tree/master/example

Use cargo build -vv in order to see ninja output.

Read more about gn here: https://gn.googlesource.com/gn

To test:

RUSTC_WRAPPER=sccache CXX="sccache clang++" cargo test -vv --all

By default this crate builds gn and ninja. If you want to provide your own gn/ninja binaries and not build them from scratch, specify the CARGO_GN_PATH or CARGO_NINJA_PATH environmental variables.