#![allow(clippy::unwrap_used)]
use re_build_tools::{
get_and_track_env_var, is_tracked_env_var_set, rebuild_if_crate_changed, rerun_if_changed,
};
fn should_run() -> bool {
#![allow(clippy::match_same_arms)]
use re_build_tools::Environment;
if get_and_track_env_var("CARGO_FEATURE___CI").is_ok() {
eprintln!("__ci feature detected: Skipping building of web viewer wasm.");
return false;
}
match Environment::detect() {
Environment::PublishingCrates => false,
Environment::CI => true,
Environment::DeveloperInWorkspace => true,
Environment::UsedAsDependency => false,
}
}
fn main() {
if !should_run() {
return;
}
rerun_if_changed("../../web_viewer/favicon.svg");
rerun_if_changed("../../web_viewer/index.html");
rerun_if_changed("../../web_viewer/sw.js");
rebuild_if_crate_changed("re_viewer");
let release = re_build_tools::get_and_track_env_var("PROFILE").unwrap() == "release";
if let Err(err) =
re_build_web_viewer::build(release, is_tracked_env_var_set("RERUN_BUILD_WEBGPU"))
{
panic!("Failed to build web viewer: {}", re_error::format(err));
}
}