Customisable, minimalist screen locker for Wayland
1use time::{OffsetDateTime, format_description::well_known::Iso8601};
2
3/// build helper for generating version strings from environment
4fn main() {
5 let version =
6 std::env::var("NLOCK_VERSION").unwrap_or_else(|_| env!("CARGO_PKG_VERSION").to_string());
7 let commit = std::env::var("NLOCK_COMMIT").unwrap_or_default();
8 let profile = std::env::var("PROFILE").unwrap_or_default();
9 let target = std::env::var("TARGET").unwrap_or_default();
10
11 let date = OffsetDateTime::now_utc()
12 .format(&Iso8601::DATE)
13 .unwrap_or_default();
14
15 let mut long_version = version.clone();
16
17 let extra = [commit, date, profile, target];
18 if !extra.is_empty() {
19 long_version.push_str(" (");
20 long_version.push_str(extra.join(" ").trim());
21 long_version.push(')');
22 }
23
24 println!("cargo:rustc-env=NLOCK_VERSION={version}");
25 println!("cargo:rustc-env=NLOCK_LONG_VERSION={long_version}");
26
27 println!("cargo:rerun-if-env-changed=NLOCK_VERSION");
28 println!("cargo:rerun-if-env-changed=NLOCK_COMMIT");
29}