Expand description
§Cap’n Proto Schema Compiler Plugin Library
This library allows you to do
Cap’n Proto code generation
within a Cargo build. You still need the capnp
binary (implemented in C++).
(If you use a package manager, try looking for a package called
capnproto
.)
In your Cargo.toml:
ⓘ
[dependencies]
capnp = "0.21" # Note this is a different library than capnp*c*
[build-dependencies]
capnpc = "0.21"
In your build.rs:
ⓘ
fn main() {
capnpc::CompilerCommand::new()
.src_prefix("schema")
.file("schema/foo.capnp")
.file("schema/bar.capnp")
.run().expect("schema compiler command");
}
In your lib.rs:
ⓘ
mod foo_capnp {
include!(concat!(env!("OUT_DIR"), "/foo_capnp.rs"));
}
mod bar_capnp {
include!(concat!(env!("OUT_DIR"), "/bar_capnp.rs"));
}
This will be equivalent to executing the shell command
ⓘ
capnp compile -orust:$OUT_DIR --src-prefix=schema schema/foo.capnp schema/bar.capnp
Modules§
Structs§
- Compiler
Command - A builder object for schema compiler commands.