fn main() {
let mut build = cxx_build::bridge("src/lib.rs");
build
.file("../../bridge/cpp/src/engine.cc")
.file("../../bridge/cpp/src/page.cc")
.file("../../bridge/cpp/src/navigation.cc")
.file("../../bridge/cpp/src/dom.cc")
.file("../../bridge/cpp/src/eval.cc")
.file("../../bridge/cpp/src/error.cc")
.file("../../bridge/cpp/src/input.cc")
.include("../../bridge/cpp/include")
.include("../../engine/cef")
.flag_if_supported("-std=c++20");
let profile = std::env::var("PROFILE").unwrap_or_else(|_| "debug".to_string());
if profile == "release" {
build.flag_if_supported("-flto");
build.flag_if_supported("-Oz"); build.flag_if_supported("-fvisibility=hidden");
println!("cargo:rustc-link-arg=-Wl,-x");
println!("cargo:rustc-link-arg=-Wl,-S");
println!("cargo:rustc-link-arg=-Wl,-dead_strip");
}
if let Ok(cores) = std::thread::available_parallelism() {
std::env::set_var("NUM_JOBS", cores.get().to_string());
}
build.compile("oxyblink_bridge");
println!("cargo:rerun-if-changed=src/lib.rs");
println!("cargo:rerun-if-changed=../../bridge/cpp/include/oxyblink_bridge.h");
println!("cargo:rerun-if-changed=../../bridge/cpp/src/");
}