fn main() -> Result<(), Box<dyn std::error::Error>> {
#[cfg(feature = "prost")]
{
std::env::set_var("PROTOC", protoc_bin_vendored::protoc_bin_path().unwrap());
let proto_files = vec![
"../protocol/specs/types.proto",
"../protocol/specs/messages.proto",
"../protocol/specs/sync.proto",
];
prost_build::Config::new()
.out_dir("src/protocol/gen")
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.compile_protos(&proto_files, &["../protocol/specs/"])?;
for proto in &proto_files {
println!("cargo:rerun-if-changed={}", proto);
}
}
Ok(())
}