25 lines
647 B
Rust
25 lines
647 B
Rust
|
use std::{env, path::PathBuf};
|
||
|
|
||
|
use vergen::{ConstantsFlags, generate_cargo_keys};
|
||
|
|
||
|
const ERROR_MSG: &str = "Failed to generate metadata files";
|
||
|
|
||
|
fn main() {
|
||
|
generate_cargo_keys(ConstantsFlags::SHA_SHORT).expect(ERROR_MSG);
|
||
|
|
||
|
let mut manifest_dir = PathBuf::from(
|
||
|
env::var("CARGO_MANIFEST_DIR").expect("`CARGO_MANIFEST_DIR` is always set by cargo.")
|
||
|
);
|
||
|
|
||
|
while manifest_dir.parent().is_some() {
|
||
|
if manifest_dir.join(".git/HEAD").exists() {
|
||
|
println!("cargo:rerun-if-changed={}", manifest_dir.join(".git/HEAD").display());
|
||
|
return
|
||
|
}
|
||
|
|
||
|
manifest_dir.pop();
|
||
|
}
|
||
|
|
||
|
println!("cargo:warning=Could not find `.git/HEAD` from manifest dir!");
|
||
|
}
|