use std::env;
use std::fs;
use std::io::Write;
use std::path::Path;
fn main() {
let out_dir = Path::new(&env::var("OUT_DIR").unwrap()).join("proto");
fs::create_dir_all(&out_dir).expect("Failed to create $OUT_DIR/proto directory");
protobuf_codegen_pure::run(protobuf_codegen_pure::Args {
out_dir: out_dir.to_str().unwrap(),
input: &[if cfg!(feature = "webrtc-extensions") {
"protos/MumbleWithWebRTC.proto"
} else {
"protos/Mumble.proto"
}],
includes: &["protos"],
customize: protobuf_codegen_pure::Customize {
generate_accessors: Some(true),
..Default::default()
},
})
.expect("protoc");
let content = if cfg!(feature = "webrtc-extensions") {
"mod MumbleWithWebRTC; pub use MumbleWithWebRTC::*;"
} else {
"mod Mumble; pub use Mumble::*;"
};
let mut file = fs::File::create(out_dir.join("mod.rs")).unwrap();
file.write_all(content.as_bytes())
.expect("Failed to write proto/mod.rs")
}