--- /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")
+ }
+}