use std::path::Path;
extern crate cmake;
fn main() {
let mut config = cmake::Config::new("QuEST");
config
.no_build_target(true)
.define("MULTITHREADED", "ON")
.define("GPUACCELERATED", "OFF")
.define("DISTRIBUTED", "OFF");
config.define("PRECISION", "2");
#[cfg(feature = "f32")]
config.define("PRECISION", "1");
#[cfg(feature = "gpu")]
config
.define("MULTITHREADED", "OFF")
.define("GPUACCELERATED", "ON")
.define("DISTRIBUTED", "OFF");
#[cfg(feature = "mpi")]
config
.define("MULTITHREADED", "ON")
.define("GPUACCELERATED", "OFF")
.define("DISTRIBUTED", "ON");
let dst = config.build();
println!(
"cargo:rustc-link-search=native={}/build/QuEST",
dst.display()
);
println!("cargo:rustc-link-lib=dylib=QuEST");
let out_dir = std::env::var_os("OUT_DIR").unwrap();
let libfile = Path::new(&out_dir).join("build/QuEST/libQuEST.so");
let linkfile = Path::new(&out_dir).join("../../../deps/libQuEST.so");
let _ = std::fs::remove_file(&linkfile);
std::os::unix::fs::symlink(libfile, linkfile).unwrap();
}