use std::{
env,
path::{Path, PathBuf},
};
fn main() {
println!("cargo:rerun-if-changed=src/lib.rs");
println!("cargo:rerun-if-changed=wrapper.hpp");
if !Path::new("ext/vuk/ext/SPIRV-Cross/include").exists() {
panic!("Could not verify submodules were correctly initialized -- Did you forget to `git submodule update --init --recursive`?");
}
let bindings = bindgen::Builder::default()
.clang_args(&["-Iext/vuk/include/", "-std=c++20"])
.allowlist_type("vuk::.*")
.opaque_type("std::.*")
.opaque_type("vuk::Result.*")
.header("wrapper.hpp")
.enable_cxx_namespaces()
.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!");
}