rust/lib-hedgewars-engine/build.rs
changeset 15893 5b3beb90e1a6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rust/lib-hedgewars-engine/build.rs	Tue Nov 15 14:27:22 2022 +0100
@@ -0,0 +1,32 @@
+extern crate cbindgen;
+
+use cbindgen::Config;
+use std::env;
+use std::path::PathBuf;
+
+fn main() {
+    let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
+
+    let package_name = env::var("CARGO_PKG_NAME").unwrap();
+    let output_file = target_dir()
+        .join(format!("{}.hpp", package_name))
+        .display()
+        .to_string();
+
+    let config = Config {
+        namespace: Some(String::from("hwengine")),
+        ..Default::default()
+    };
+
+    cbindgen::generate_with_config(&crate_dir, config)
+        .unwrap()
+        .write_to_file(&output_file);
+}
+
+fn target_dir() -> PathBuf {
+    if let Ok(target) = env::var("CARGO_TARGET_DIR") {
+        PathBuf::from(target)
+    } else {
+        PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()).join("target")
+    }
+}