]> git.lizzy.rs Git - rust.git/commitdiff
Merge pull request #455 from RalfJung/cargo-miri-version
authorRalf Jung <post@ralfj.de>
Sun, 16 Sep 2018 13:37:52 +0000 (15:37 +0200)
committerGitHub <noreply@github.com>
Sun, 16 Sep 2018 13:37:52 +0000 (15:37 +0200)
cargo miri: show version number

Cargo.toml
build.rs
src/bin/cargo-miri.rs

index 3f7aabe03ce27bf2fa049975c25773b4e51bd1e4..d690f87b536c65e0984e1cb7dab3a620ec2de9fe 100644 (file)
@@ -31,6 +31,9 @@ cargo_metadata = { version = "0.6", optional = true }
 env_logger = "0.5"
 log = "0.4"
 
+[build-dependencies]
+vergen = "2"
+
 [features]
 cargo_miri = ["cargo_metadata"]
 
index 2f74f7f4f6162ae5e1d875873db78d7c772bd513..73eb68359a821c6982f52c20674901d214b74806 100644 (file)
--- a/build.rs
+++ b/build.rs
@@ -1,3 +1,5 @@
+extern crate vergen;
+
 use std::env;
 
 fn main() {
@@ -5,4 +7,18 @@ fn main() {
     println!("cargo:rustc-env=PROFILE={}", env::var("PROFILE").unwrap());
     // Don't rebuild miri even if nothing changed
     println!("cargo:rerun-if-changed=build.rs");
+    // vergen
+    vergen().expect("Unable to generate vergen constants!");
+}
+
+fn vergen() -> vergen::Result<()> {
+    use vergen::{ConstantsFlags, Vergen};
+
+    let vergen = Vergen::new(ConstantsFlags::all())?;
+
+    for (k, v) in vergen.build_info() {
+        println!("cargo:rustc-env={}={}", k.name(), v);
+    }
+
+    Ok(())
 }
index 010f25e8152dc1c1a31020c42907b635e29eb03b..95ce9cc7ecb5f5e52ed197b9a0b1ab136d636321 100644 (file)
@@ -30,7 +30,8 @@ fn show_help() {
 }
 
 fn show_version() {
-    println!("{}", env!("CARGO_PKG_VERSION"));
+    println!("miri {} ({} {})",
+        env!("CARGO_PKG_VERSION"), env!("VERGEN_SHA_SHORT"), env!("VERGEN_COMMIT_DATE"));
 }
 
 fn main() {