//! Build script — embeds Windows application resources (icon, metadata).

fn main() {
    let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();

    if target_os == "windows" {
        // C++ runtime (stdc++, gcc, gcc_eh, pthread) linked statically via .cargo/config.toml
        // using -Wl,-Bstatic. Only Windows system DLLs go here.
        println!("cargo:rustc-link-lib=ws2_32");
        println!("cargo:rustc-link-lib=iphlpapi");
        println!("cargo:rustc-link-lib=winmm");
        println!("cargo:rustc-link-lib=ole32");
        println!("cargo:rustc-link-lib=oleaut32");
    }

    #[cfg(windows)]
    {
        let mut res = winres::WindowsResource::new();
        res.set_icon("assets/Cagire.ico")
            .set("ProductName", "Cagire")
            .set("FileDescription", "Forth-based music sequencer")
            .set("LegalCopyright", "Copyright (c) 2025 Raphaël Forment");
        res.compile().expect("Failed to compile Windows resources");
    }
}
