use std::env;
use std::path::{Path, PathBuf};
fn main() {
println!("cargo:rerun-if-env-changed=DEP_NOESIS_LIB_DIR");
let Ok(lib_dir) = env::var("DEP_NOESIS_LIB_DIR") else {
return;
};
match env::var("CARGO_CFG_TARGET_OS").as_deref() {
Ok("linux") => {
println!("cargo:rustc-link-arg=-Wl,-rpath,{lib_dir}");
}
Ok("windows") => {
let dll = Path::new(&lib_dir).join("Noesis.dll");
let out_dir = PathBuf::from(env::var("OUT_DIR").expect("OUT_DIR"));
if let Some(profile_dir) = out_dir.ancestors().nth(3) {
for sub in ["", "deps"] {
let dest = profile_dir.join(sub);
if dest.is_dir() {
let _ = std::fs::copy(&dll, dest.join("Noesis.dll"));
}
}
}
}
_ => {}
}
}