From f925e5dafdbd5aeb14cf6626e059456b23b8f613 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 16 Sep 2018 15:06:05 +0200 Subject: [PATCH] cargo miri: show version number --- Cargo.toml | 3 +++ build.rs | 16 ++++++++++++++++ src/bin/cargo-miri.rs | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3f7aabe03ce..d690f87b536 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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"] diff --git a/build.rs b/build.rs index 2f74f7f4f61..73eb68359a8 100644 --- 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(()) } diff --git a/src/bin/cargo-miri.rs b/src/bin/cargo-miri.rs index 010f25e8152..95ce9cc7ecb 100644 --- a/src/bin/cargo-miri.rs +++ b/src/bin/cargo-miri.rs @@ -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() { -- 2.44.0