libobs-bootstrapper 0.2.4

Downloads OBS binaries at runtime and bootstraps libobs
Documentation
#[cfg(any(not(feature = "install_dummy_dll"), not(target_os = "windows")))]
fn main() {
    println!("cargo:rerun-if-changed=build.rs");
}

#[cfg(all(feature = "install_dummy_dll", target_os = "windows"))]
fn main() {
    use std::path::PathBuf;
    println!("cargo:rerun-if-changed=build.rs");
    println!("cargo:rerun-if-changed=./assets/obs-dummy.dll");
    println!("cargo:rerun-if-env-changed=CARGO_PKG_VERSION");
    let dll = include_bytes!("./assets/obs-dummy.dll");

    // Cargo target directory (one level up from OUT_DIR)
    let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
    let target_dir = out_dir
        .ancestors()
        .nth(3) // up from target/<profile>/build/<crate>/out
        .unwrap();

    let obs_dll_file = target_dir.join("obs.dll");
    std::fs::write(obs_dll_file, dll).unwrap();
}