aboutsummaryrefslogtreecommitdiffstats
path: root/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..ee9d9e3
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,29 @@
+fn main() {
+ println!("cargo:rustc-env=FANCY_PROMPT_BUILD_GIT_REV={}", git_describe())
+}
+
+fn git_describe() -> String {
+ let output = std::process::Command::new("git")
+ .args(&["describe", "--tags"])
+ .output();
+ output.and_then(|output| {
+ if output.status.success() {
+ Ok(
+ String::from_utf8_lossy(&output.stdout)
+ .trim()
+ .to_string()
+ )
+ }
+ else {
+ Err(
+ std::io::Error::new(
+ std::io::ErrorKind::Other,
+ "failed to run git"
+ )
+ )
+ }
+ }).unwrap_or_else(|_err| {
+ // String::from(format!("{}", _err))
+ String::from("???")
+ })
+}