#![forbid(unsafe_code)]
use std::path::Path;
fn main() {
let manifest =
Path::new(env!("CARGO_MANIFEST_DIR")).join("../../packaging/windows/odox.manifest");
println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rerun-if-changed={}", manifest.display());
let os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap_or_default();
if os != "windows" || env != "msvc" {
return;
}
if !manifest.exists() {
println!(
"cargo:warning=no {} — this build declares no DPI awareness",
manifest.display()
);
return;
}
let binary = std::env::var("CARGO_PKG_NAME").unwrap_or_default();
for arg in [
"/MANIFEST:EMBED".to_owned(),
format!("/MANIFESTINPUT:{}", manifest.display()),
] {
println!("cargo:rustc-link-arg-bin={binary}={arg}");
}
}