freeroast 0.1.9

A simple coffee roasting app
Documentation
use std::{fs::create_dir_all, path::Path, process::Command};

fn main() {
    let ev = std::env::var("OUT_DIR").unwrap();
    let out_dir = Path::new(ev.as_str()).join("libs");
    if !out_dir.exists() {
        create_dir_all(out_dir.to_owned()).unwrap();
    }
    Command::new("gcc")
        .args(&[
            "-c",
            "-fPIC",
            "-lncurses",
            "-static",
            "-o",
            &format!("{}/getinput.o", out_dir.to_str().unwrap()),
            "./src/ext/get_input.c",
        ])
        .status()
        .expect("Problem compiling c program");

    Command::new("ar")
        .args(&["crus", "libgetinput.a", "getinput.o"])
        .current_dir(out_dir.to_owned())
        .status()
        .expect("Problem linking c program");

    println!(
        "cargo:rustc-link-search=native={}",
        out_dir.to_owned().to_str().unwrap()
    );
    println!("cargo:rustc-link-lib=static=getinput");
    println!("cargo:rustc-link-lib=ncurses");
    println!("cargo:rerun-if-changed=src/ext/get_input.c");
}