use cxx_qt_build::{CxxQtBuilder, PluginType, QmlModule}; fn main() { // Rust cdylib uses a version script that hides everything not declared // `#[no_mangle] pub extern "C"`. cxx-qt's QQmlEngineExtensionPlugin entry // points (qt_plugin_instance, qt_plugin_query_metadata_v2) come from // compiled C++ and would otherwise be stripped to local visibility, so Qt's // plugin loader finds nothing exported. --export-dynamic re-exposes them. println!("cargo:rustc-link-arg=-Wl,--export-dynamic"); CxxQtBuilder::new_qml_module(QmlModule::new("NovaStats").plugin_type(PluginType::Dynamic)) .files(["src/system_stats.rs", "src/cpu_service.rs"]) .build(); }