30 lines
959 B
Rust
30 lines
959 B
Rust
const KORDOPHONE_XML: &str = "include/net.buzzert.kordophonecd.Server.xml";
|
|
|
|
#[cfg(not(target_os = "linux"))]
|
|
fn main() {
|
|
// No D-Bus code generation on non-Linux platforms
|
|
}
|
|
|
|
#[cfg(target_os = "linux")]
|
|
fn main() {
|
|
// Generate D-Bus code
|
|
let out_dir = std::env::var("OUT_DIR").unwrap();
|
|
let out_path = std::path::Path::new(&out_dir).join("kordophone-server.rs");
|
|
|
|
let opts = dbus_codegen::GenOpts {
|
|
connectiontype: dbus_codegen::ConnectionType::Nonblock,
|
|
methodtype: None, // Set to None for crossroads
|
|
crossroads: true,
|
|
..Default::default()
|
|
};
|
|
|
|
let xml = std::fs::read_to_string(KORDOPHONE_XML).expect("Error reading server dbus interface");
|
|
|
|
let output = dbus_codegen::generate(&xml, &opts)
|
|
.expect("Error generating server dbus interface");
|
|
|
|
std::fs::write(out_path, output).expect("Error writing server dbus code");
|
|
|
|
println!("cargo:rerun-if-changed={}", KORDOPHONE_XML);
|
|
}
|