fastfetch-sys 2.43.0

A neofetch like system information tool
Documentation
use std::env;
use std::path::PathBuf;

fn main() {
    let pkg = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
    let out = PathBuf::from(env::var("OUT_DIR").unwrap());

    cmake::Config::new("fastfetch")
        .out_dir(out.clone())
        .build_target("fastfetch-vendor")
        .build();

    bindgen::Builder::default()
        .header("fastfetch/wrapper.h")
        .clang_arg(format!("-I{}", pkg.join("fastfetch/vendor/src").display()))
        .clang_arg(format!("-I{}", out.join("build/vendor").display()))
        .parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
        .generate()
        .expect("Unable to generate bindings")
        .write_to_file(out.join("bindings.rs"))
        .expect("Unable to write bindings");

    println!("cargo:rustc-link-search={}", out.display());
    println!("cargo:rustc-link-lib=fastfetch-vendor");
}