fn main() {
let git_hash = std::process::Command::new("git")
.args(["rev-parse", "--short=7", "HEAD"])
.output()
.ok()
.filter(|o| o.status.success())
.map_or_else(
|| "unknown".to_string(),
|o| String::from_utf8_lossy(&o.stdout).trim().to_string(),
);
println!("cargo:rustc-env=BUILD_GIT_HASH={git_hash}");
let target = std::env::var("TARGET").unwrap_or_else(|_| "unknown".to_string());
println!("cargo:rustc-env=BUILD_TARGET={target}");
println!("cargo:rerun-if-changed=../.git/HEAD");
println!("cargo:rerun-if-changed=../.git/refs/");
}