extern crate cc;
use std::env;
const DEPLOYMENT_TARGET_VAR: &str = "MACOSX_DEPLOYMENT_TARGET";
fn main() {
if cfg!(target_os = "macos") {
let min_version = match env::var(DEPLOYMENT_TARGET_VAR) {
Ok(ver) => ver,
Err(_) => String::from(match env::var("CARGO_CFG_TARGET_ARCH").unwrap().as_str() {
"x86_64" => "10.8", "aarch64" => "11.0", arch => panic!("unknown arch: {}", arch),
}),
};
cc::Build::new()
.file("objc/notify.m")
.flag("-fmodules")
.flag("-Wno-deprecated-declarations")
.flag(&format!("-mmacos-version-min={}", min_version))
.compile("notify");
println!("cargo:rerun-if-env-changed={}", DEPLOYMENT_TARGET_VAR);
}
}