2018-10-07 22:13:48 +01:00
|
|
|
#[cfg(feature = "ffi-headers")]
|
|
|
|
|
mod ffi_headers {
|
|
|
|
|
extern crate cbindgen;
|
|
|
|
|
|
|
|
|
|
use std::env;
|
|
|
|
|
use std::fs;
|
|
|
|
|
|
2019-06-28 19:54:22 +01:00
|
|
|
use self::cbindgen::generate;
|
2018-10-07 22:13:48 +01:00
|
|
|
|
|
|
|
|
pub fn generate_headers() {
|
|
|
|
|
let crate_dir = env::var("CARGO_MANIFEST_DIR")
|
|
|
|
|
.expect("could not get value of CARGO_MANIFEST_DIR env var");
|
|
|
|
|
|
|
|
|
|
fs::create_dir_all("include").expect("could not create include directory");
|
|
|
|
|
|
2019-06-28 19:54:22 +01:00
|
|
|
generate(&crate_dir)
|
|
|
|
|
.expect("could not generate C/C++ header file")
|
|
|
|
|
.write_to_file("include/loot_condition_interpreter.h");
|
2018-10-07 22:13:48 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
#[cfg(feature = "ffi-headers")]
|
|
|
|
|
ffi_headers::generate_headers();
|
|
|
|
|
}
|