This commit is contained in:
2026-03-05 22:35:25 +01:00
parent 04b68850d0
commit b2a089fb0c
2 changed files with 12 additions and 11 deletions

View File

@@ -16,19 +16,23 @@ fn main() {
if target_os == "windows" {
let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
let icon = format!("{manifest_dir}/assets/Cagire.ico");
eprintln!("winres: manifest_dir = {manifest_dir}");
eprintln!("winres: icon path = {icon}");
eprintln!("winres: icon exists = {}", std::path::Path::new(&icon).exists());
eprintln!("winres: OUT_DIR = {}", std::env::var("OUT_DIR").unwrap_or_default());
eprintln!("winres: TARGET = {}", std::env::var("TARGET").unwrap_or_default());
let mut res = winres::WindowsResource::new();
// Cross-compiling from Unix: use prefixed MinGW tools
if cfg!(unix) {
res.set_windres_path("x86_64-w64-mingw32-windres");
res.set_ar_path("x86_64-w64-mingw32-ar");
res.set_toolkit_path("/");
}
res.set_icon(&icon)
.set("ProductName", "Cagire")
.set("FileDescription", "Forth-based music sequencer")
.set("LegalCopyright", "Copyright (c) 2025 Raphaël Forment");
if let Err(e) = res.compile() {
eprintln!("winres: compile error: {e:?}");
panic!("Failed to compile Windows resources: {e}");
res.compile().expect("Failed to compile Windows resources");
// GNU ld discards unreferenced sections from static archives,
// so link the resource object directly to ensure .rsrc is kept.
if cfg!(unix) {
let out_dir = std::env::var("OUT_DIR").unwrap();
println!("cargo:rustc-link-arg-bins={out_dir}/resource.o");
}
}
}

View File

@@ -503,8 +503,5 @@ impl App {
if self.page == Page::Script {
self.load_script_to_editor();
}
if self.page == Page::Engine {
self.audio.refresh_devices();
}
}
}