use std::io::Result;
use std::path::{Path, PathBuf};
fn main() -> Result<()> {
let in_dir = PathBuf::from(::std::env::var("CARGO_MANIFEST_DIR").unwrap()).join("proto");
println!("cargo:rerun-if-changed={}", in_dir.to_str().unwrap());
let in_files: Vec<_> = ["osmformat.proto", "fileformat.proto"]
.iter()
.map(|s| in_dir.join(s))
.collect();
for file in &in_files {
println!("cargo:rerun-if-changed={}", file.to_str().unwrap());
}
let out_dir = std::env::var("OUT_DIR").unwrap();
let out_dir = Path::new(&out_dir).join("proto");
if out_dir.exists() {
std::fs::remove_dir_all(&out_dir).unwrap();
}
std::fs::DirBuilder::new().create(&out_dir).unwrap();
let mut prost_build = prost_build::Config::new();
prost_build.out_dir(&out_dir);
prost_build.compile_protos(&in_files, &[in_dir])?;
Ok(())
}