use std::env; use std::path::Path; use std::process::Command; fn main() { println!("cargo:rerun-if-changed=data/tc.mal.lleap.gschema.xml"); let out_dir = env::var("OUT_DIR").unwrap(); let schema_dir = Path::new(&out_dir).join("glib-2.0").join("schemas"); std::fs::create_dir_all(&schema_dir).unwrap(); std::fs::copy( "data/tc.mal.lleap.gschema.xml", schema_dir.join("tc.mal.lleap.gschema.xml"), ) .unwrap(); Command::new("glib-compile-schemas") .arg(&schema_dir) .output() .unwrap(); println!( "cargo:rustc-env=GSETTINGS_SCHEMA_DIR={}", schema_dir.display() ); }