use std::process::Command; fn main() { let git_hash = Command::new("git") .args(["rev-parse", "HEAD"]) .output() .map(|out| String::from_utf8_lossy(&out.stdout).trim().to_string()) .unwrap_or_else(|_| "unknown".into()); let git_date = Command::new("git") .args(["show", "-s", "--format=%cI", "HEAD"]) .output() .map(|out| String::from_utf8_lossy(&out.stdout).trim().to_string()) .unwrap_or_else(|_| "unknown".into()); println!("cargo:rustc-env=GIT_HASH={}", git_hash); println!("cargo:rustc-env=BUILD_DATE={}", git_date); println!("cargo:rerun-if-changed=.git/HEAD"); println!("cargo:rerun-if-changed=.git/refs/heads"); }