use std::env;
use std::error::Error;
use std::path::PathBuf;
fn main() -> Result<(), Box<dyn Error>> {
println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rerun-if-changed=src/api/api.h");
println!("cargo:rerun-if-changed=src/api/mod.rs");
println!("cargo:rerun-if-changed=src/api/rules/aliases.h");
println!("cargo:rerun-if-changed=src/api/rules/rules.h");
println!("cargo:rerun-if-changed=src/api/rules/mod.rs");
println!("cargo:rerun-if-changed=src/common/common.h");
println!("cargo:rerun-if-changed=src/common/mod.rs");
println!("cargo:rerun-if-changed=src/cxx_utils/error_handling.h");
println!("cargo:rerun-if-changed=src/lib.rs");
println!("cargo:rerun-if-changed=src/math/math.h");
println!("cargo:rerun-if-changed=src/math/mod.rs");
println!("cargo:rerun-if-changed=src/plugin/mod.rs");
println!("cargo:rerun-if-changed=src/plugin/plugin.h");
println!("cargo:rerun-if-changed=src/utility/mod.rs");
println!("cargo:rerun-if-changed=src/utility/utility.h");
let maliput_sdk_bin_path =
PathBuf::from(env::var("DEP_MALIPUT_SDK_BIN_PATH").expect("DEP_MALIPUT_SDK_BIN_PATH not set"));
println!("cargo:rustc-link-search=native={}", maliput_sdk_bin_path.display());
println!("cargo:rustc-link-lib=maliput_sdk");
cxx_build::bridges([
"src/math/mod.rs",
"src/utility/mod.rs",
"src/api/rules/mod.rs",
"src/api/mod.rs",
"src/plugin/mod.rs",
"src/common/mod.rs",
])
.flag_if_supported("-std=c++17")
.include("src")
.compile("maliput-sys");
let maliput_malidrive_plugin_path = PathBuf::from(
env::var("DEP_MALIPUT_SDK_MALIPUT_MALIDRIVE_PLUGIN_PATH")
.expect("DEP_MALIPUT_SDK_MALIPUT_MALIDRIVE_PLUGIN_PATH not set"),
);
println!(
"cargo:rustc-env=MALIPUT_PLUGIN_PATH={}",
maliput_malidrive_plugin_path.display()
);
Ok(())
}