satif-minisat 0.2.7

Rust wrapper for the minisat SAT solver
Documentation
use cmake::Config;
use std::env;
use std::path::PathBuf;

fn main() -> Result<(), String> {
    giputils::build::git_submodule_update()?;
    let out_dir = env::var("OUT_DIR")
        .map_err(|_| "Environmental variable `OUT_DIR` not defined.".to_string())?;

    let minisat_path = PathBuf::from("./bindings");
    println!("cargo:rerun-if-changed=./bindings");
    println!("cargo:rerun-if-changed=./minisat");
    let mut cfg = Config::new(minisat_path);

    cfg.build();

    println!(
        "cargo:rustc-link-search=native={}",
        PathBuf::from(out_dir).join("lib").display()
    );
    println!("cargo:rustc-link-lib=static=bindings");
    println!("cargo:rustc-link-lib=static=minisat");
    #[cfg(target_os = "linux")]
    println!("cargo:rustc-link-lib=dylib=stdc++");
    #[cfg(target_os = "macos")]
    println!("cargo:rustc-link-lib=dylib=c++");
    Ok(())
}