scs-rs/scs_rs/build.rs

20 lines
683 B
Rust
Raw Permalink Normal View History

2023-04-29 06:26:36 +08:00
use std::{path::PathBuf, env};
fn main() {
println!("cargo:rerun-if-changed=wrapper.hpp");
let bindings = bindgen::Builder::default()
.header("wrapper.hpp")
2023-04-30 21:38:48 +08:00
.allowlist_type(r#"scs_(\w+)"#)
.allowlist_var(r#"SCS_(\w+)"#)
2023-04-30 20:47:50 +08:00
.blocklist_item(r#"some_requirement_failed_at_(\d+)"#)
.blocklist_function(r#"(\w+)_(init|shutdown)(\w*)"#)
2023-04-29 06:26:36 +08:00
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
.generate()
.expect("Unable to generate bindings");
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
bindings
.write_to_file(out_path.join("bindings.rs"))
.expect("Couldn't write bindings!");
}