diff --git a/hmi_gui/Cargo.lock b/hmi_gui/Cargo.lock index 4be2365..5d30f43 100644 --- a/hmi_gui/Cargo.lock +++ b/hmi_gui/Cargo.lock @@ -1205,6 +1205,7 @@ dependencies = [ "env_logger", "log", "serialport", + "winres", ] [[package]] @@ -3199,6 +3200,15 @@ dependencies = [ "zerovec", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -4264,6 +4274,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/hmi_gui/Cargo.toml b/hmi_gui/Cargo.toml index 846c090..ed9d362 100644 --- a/hmi_gui/Cargo.toml +++ b/hmi_gui/Cargo.toml @@ -10,3 +10,6 @@ egui = "0.27.2" log = "0.4" env_logger = "0.11" crossbeam-channel = "0.5" + +[build-dependencies] +winres = "0.1" diff --git a/hmi_gui/build.rs b/hmi_gui/build.rs new file mode 100644 index 0000000..31737b0 --- /dev/null +++ b/hmi_gui/build.rs @@ -0,0 +1,9 @@ +fn main() { + #[cfg(target_os = "windows")] + { + let mut res = winres::WindowsResource::new(); + res.set("ProductName", "ESP32-P4 Waveform Gen"); + res.set("FileDescription", "Waveform Generator Controller"); + let _ = res.compile(); + } +} diff --git a/hmi_gui/build_windows.sh b/hmi_gui/build_windows.sh index 30ddeef..81dc67a 100755 --- a/hmi_gui/build_windows.sh +++ b/hmi_gui/build_windows.sh @@ -3,13 +3,8 @@ # Ensure the Windows target is installed rustup target add x86_64-pc-windows-gnu -# Check for mingw-w64 -if ! command -v x86_64-w64-mingw32-gcc &> /dev/null -then - echo "Error: x86_64-w64-mingw32-gcc not found." - echo "Install it via your package manager (e.g., sudo apt install mingw-w64)" - exit 1 -fi +# Set the resource compiler for cross-compilation +export WINDRES=x86_64-w64-mingw32-windres # Build for Windows cargo build --release --target x86_64-pc-windows-gnu diff --git a/hmi_gui/target/release/esp32p4-waveform-gui b/hmi_gui/target/release/esp32p4-waveform-gui index 931667b..b4ac4f8 100755 Binary files a/hmi_gui/target/release/esp32p4-waveform-gui and b/hmi_gui/target/release/esp32p4-waveform-gui differ diff --git a/hmi_gui/target/release/esp32p4-waveform-gui.d b/hmi_gui/target/release/esp32p4-waveform-gui.d index 6298c80..f63e668 100644 --- a/hmi_gui/target/release/esp32p4-waveform-gui.d +++ b/hmi_gui/target/release/esp32p4-waveform-gui.d @@ -1 +1 @@ -/home/martino/Projects/apsbps/hmi_gui/target/release/esp32p4-waveform-gui: /home/martino/Projects/apsbps/hmi_gui/src/main.rs +/home/martino/Projects/apsbps/hmi_gui/target/release/esp32p4-waveform-gui: /home/martino/Projects/apsbps/hmi_gui/build.rs /home/martino/Projects/apsbps/hmi_gui/src/main.rs diff --git a/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.d b/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.d index 075cf7c..7016361 100644 --- a/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.d +++ b/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.d @@ -1 +1 @@ -/home/martino/Projects/apsbps/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe: /home/martino/Projects/apsbps/hmi_gui/src/main.rs +/home/martino/Projects/apsbps/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe: /home/martino/Projects/apsbps/hmi_gui/build.rs /home/martino/Projects/apsbps/hmi_gui/src/main.rs diff --git a/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe b/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe index 17ff250..ab7247e 100755 Binary files a/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe and b/hmi_gui/target/x86_64-pc-windows-gnu/release/esp32p4-waveform-gui.exe differ