use cfg_aliases::cfg_aliases;
use vergen_git2::{Build, Cargo, Emitter, Git2, Rustc, Sysinfo};
fn main() -> Result<(), Box<dyn std::error::Error>> {
cfg_aliases! {
macos: { target_os = "macos" },
linux: { target_os = "linux" },
posix: { target_family = "unix" },
win: { target_family = "windows" },
smb: { feature = "smb" },
smb_unix: { all(unix, feature = "smb") },
smb_windows: { all(windows, feature = "smb") }
}
let build = Build::all_build();
let cargo = Cargo::all_cargo();
let git2 = Git2::all_git();
let rustc = Rustc::all_rustc();
let si = Sysinfo::all_sysinfo();
Emitter::default()
.add_instructions(&build)?
.add_instructions(&cargo)?
.add_instructions(&git2)?
.add_instructions(&rustc)?
.add_instructions(&si)?
.emit()?;
Ok(())
}