1use std::sync::LazyLock;
4
5pub const VERSION: &str = env!("CARGO_PKG_VERSION");
7
8const GIT_HASH: &str = env!("FIPS_GIT_HASH");
10
11const GIT_DIRTY: &str = env!("FIPS_GIT_DIRTY");
13
14const TARGET: &str = env!("FIPS_TARGET");
16
17#[allow(clippy::const_is_empty)]
19static SHORT_VERSION: LazyLock<String> = LazyLock::new(|| {
20 if GIT_HASH.is_empty() {
21 VERSION.to_string()
22 } else {
23 format!("{VERSION} (rev {GIT_HASH}{GIT_DIRTY})")
24 }
25});
26
27static LONG_VERSION: LazyLock<String> =
29 LazyLock::new(|| format!("{}\ntarget: {TARGET}", *SHORT_VERSION));
30
31pub fn short_version() -> &'static str {
32 &SHORT_VERSION
33}
34
35pub fn long_version() -> &'static str {
36 &LONG_VERSION
37}