diff --git a/aw-server/build.rs b/aw-server/build.rs index 3ff85687..4d0d642c 100644 --- a/aw-server/build.rs +++ b/aw-server/build.rs @@ -1,16 +1,24 @@ use std::error::Error; fn main() -> Result<(), Box> { - // if aw-webui/dist does not exist or is empty, print a warning - let path = std::path::Path::new("../aw-webui/dist"); + let webui_var = std::env::var("AW_WEBUI_DIR"); + let path = if let Ok(var_path) = &webui_var { + std::path::Path::new(var_path) + } else { + let path = std::path::Path::new("../aw-webui/dist"); + // ensure folder exists, since macro requires it + std::fs::create_dir_all(path)?; + println!("cargo:rustc-env=AW_WEBUI_DIR={}", path.display()); + path + }; + let path_index = path.join("index.html"); if !path_index.exists() { - println!("cargo:warning=`./aw-webui/dist` is not built, compiling without webui"); + println!( + "cargo:warning=`{}` is not built, compiling without webui", + path.display() + ); } - // ensure folder exists, since macro requires it - std::fs::create_dir_all(path)?; - println!("cargo:rustc-env=AW_WEBUI_DIR=../aw-webui/dist"); - Ok(()) }