cuprate_constants/
build.rs

1//! Build related metadata.
2
3/// The current commit hash of the root Cuprate repository.
4///
5/// # Case & length
6/// It is guaranteed that `COMMIT` will be:
7/// - Lowercase ASCII
8/// - 40 characters long (no newline)
9///
10/// ```rust
11/// # use cuprate_constants::build::*;
12/// assert!(COMMIT.is_ascii());
13/// assert_eq!(COMMIT.len(), 40);
14/// assert_eq!(COMMIT.to_lowercase(), COMMIT);
15/// ```
16pub const COMMIT: &str = core::env!("COMMIT"); // Set in `constants/build.rs`.
17
18/// `debug` if debug build, else `release`.
19pub const BUILD: &str = if cfg!(debug_assertions) {
20    "debug"
21} else {
22    "release"
23};
24
25/// `true` if debug build, else `false`.
26pub const DEBUG: bool = cfg!(debug_assertions);
27
28/// `true` if release build, else `false`.
29pub const RELEASE: bool = !DEBUG;