diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2026-07-25 20:00:30 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2026-07-25 20:00:30 +0400 |
| commit | 902eec31a4b6f0403a379e1c242914174b87deb5 (patch) | |
| tree | 724c9b783bfde5e8beb78c0c482eafff22aa493e /crates/flasher-qt/build.rs | |
| parent | 9808b79f2076026217dbd0027de62b12ad299304 (diff) | |
rewrite in qt5 instead of qtquick
Diffstat (limited to 'crates/flasher-qt/build.rs')
| -rw-r--r-- | crates/flasher-qt/build.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/flasher-qt/build.rs b/crates/flasher-qt/build.rs new file mode 100644 index 0000000..e4bdfc2 --- /dev/null +++ b/crates/flasher-qt/build.rs @@ -0,0 +1,25 @@ +fn main() { + println!("cargo:rerun-if-changed=src/ui.cpp"); + + let qt = pkg_config::Config::new() + .atleast_version("5.12") + .cargo_metadata(false) + .probe("Qt5Widgets") + .expect("Qt 5 Widgets development files were not found (install qt5-base-devel)"); + + let mut build = cc::Build::new(); + build.cpp(true).file("src/ui.cpp").flag_if_supported("-std=c++17"); + for path in &qt.include_paths { + build.include(path); + } + build.compile("flasher_qt_ui"); + + // Keep shared Qt libraries after our static C++ archive on the linker + // command line; GNU ld resolves static archives from left to right. + for path in &qt.link_paths { + println!("cargo:rustc-link-search=native={}", path.display()); + } + println!("cargo:rustc-link-lib=Qt5Widgets"); + println!("cargo:rustc-link-lib=Qt5Gui"); + println!("cargo:rustc-link-lib=Qt5Core"); +} |