use std::sync::LazyLock;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
const GIT_HASH: &str = env!("FIPS_GIT_HASH");
const GIT_DIRTY: &str = env!("FIPS_GIT_DIRTY");
const TARGET: &str = env!("FIPS_TARGET");
#[allow(clippy::const_is_empty)]
static SHORT_VERSION: LazyLock<String> = LazyLock::new(|| {
if GIT_HASH.is_empty() {
VERSION.to_string()
} else {
format!("{VERSION} (rev {GIT_HASH}{GIT_DIRTY})")
}
});
static LONG_VERSION: LazyLock<String> =
LazyLock::new(|| format!("{}\ntarget: {TARGET}", *SHORT_VERSION));
pub fn short_version() -> &'static str {
&SHORT_VERSION
}
pub fn long_version() -> &'static str {
&LONG_VERSION
}