7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 1 | use std::{env, process}; |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 2 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 3 | fn env_is_set(var_name: &str) -> bool { |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 4 | env::var_os(var_name).is_some() |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 5 | } |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 6 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 7 | fn ensure(cond: bool, err: &str) { |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 8 | if !cond { |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 9 | eprintln!( |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 10 | "\n\ |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 11 | ┏━━━━━━━━{pad}━┓\n\ |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 12 | ┃ error: {err} ┃\n\ |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 13 | ┗━━━━━━━━{pad}━┛\n\ |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 14 | ", |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 15 | pad = "━".repeat(err.len()), |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 16 | ); |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 17 | process::exit(1); |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 18 | } |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 19 | } |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 20 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 21 | fn main() { |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 22 | // Prevent unnecessary rerunning of this build script |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 23 | println!("cargo:rerun-if-changed=build.rs"); |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 24 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 25 | let is_wasm = env::var_os("CARGO_CFG_TARGET_ARCH").is_some_and(|arch| arch == "wasm32"); |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 26 | if is_wasm { |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 27 | ensure( |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 28 | !env_is_set("CARGO_FEATURE_SSO_LOGIN"), |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 29 | "feature 'sso-login' is not available on target arch 'wasm32'", |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 30 | ); |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 31 | } |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 32 | } |