char/char-rtc-obs

git clone https://git.t4t.associates/char/char-rtc-obs

videogame hackerInitial commiteeaf4aa

main
949 B26 linesraw
1use std::{env, path::PathBuf};
2
3fn main() {
4    let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
5    let bindings_dir = env::var("CHAR_RTC_GENERATED_DIR").ok();
6    let version = env::var("CHAR_RTC_OBS_VERSION").unwrap_or_else(|_| "0.0.0".into());
7
8    // Make libobs version available
9    println!("cargo:rustc-env=OBS_VERSION={version}");
10
11    let config = cbindgen::Config {
12        language: cbindgen::Language::C,
13        ..Default::default()
14    };
15
16    match cbindgen::generate_with_config(crate_dir, config) {
17        Ok(bindings) => {
18            if let Some(bindings_dir) = bindings_dir {
19                let bindings_dir: PathBuf = bindings_dir.into();
20                bindings.write_to_file(bindings_dir.join("bindings.h"));
21            }
22        }
23        Err(cbindgen::Error::ParseSyntaxError { .. }) => (), // ignore in favor of cargo's syntax check
24        Err(err) => panic!("{:?}", err),
25    };
26}