Files
matrix-authentication-service/crates/cli/build.rs
2025-08-18 10:29:30 +02:00

37 lines
1.2 KiB
Rust

// Copyright 2024, 2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
use vergen_gitcl::{Emitter, GitclBuilder, RustcBuilder};
fn main() -> anyhow::Result<()> {
// Instruct rustc that we'll be using #[cfg(tokio_unstable)]
println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");
// At build time, we override the version through the environment variable
// VERGEN_GIT_DESCRIBE. In some contexts, it means this variable is set but
// empty, so we unset it here.
if let Ok(ver) = std::env::var("VERGEN_GIT_DESCRIBE")
&& ver.is_empty()
{
#[allow(unsafe_code)]
// SAFETY: This is safe because the build script is running a single thread
unsafe {
std::env::remove_var("VERGEN_GIT_DESCRIBE");
}
}
let gitcl = GitclBuilder::default()
.describe(true, false, Some("v*.*.*"))
.build()?;
let rustc = RustcBuilder::default().semver(true).build()?;
Emitter::default()
.add_instructions(&gitcl)?
.add_instructions(&rustc)?
.emit()?;
Ok(())
}