spirv-cross-sys 0.3.0

Raw bindings to SPIRV-Cross
Documentation
use std::env;

pub fn main() {
    if env::var("DOCS_RS").is_ok() {
        println!("cargo:warning=Skipping SPIRV-Cross native build for docs.rs.");
        return;
    }

    let mut spvc_build = cc::Build::new();
    spvc_build
        .cpp(true)
        .std("c++14")
        .define("SPIRV_CROSS_CLI", "OFF")
        .define("SPIRV_CROSS_C_API_GLSL", "1")
        .define("SPIRV_CROSS_C_API_HLSL", "1")
        .define("SPIRV_CROSS_C_API_MSL", "1")
        .define("SPIRV_CROSS_C_API_CPP", "1")
        .define("SPIRV_CROSS_C_API_REFLECT", "1")
        .includes(&["native/SPIRV-Cross", "native/SPIRV-CROSS/include"])
        .file("native/SPIRV-Cross/spirv_cfg.cpp")
        .file("native/SPIRV-Cross/spirv_cpp.cpp")
        .file("native/SPIRV-Cross/spirv_cross.cpp")
        .file("native/SPIRV-Cross/spirv_cross_parsed_ir.cpp")
        .file("native/SPIRV-Cross/spirv_cross_util.cpp")
        .file("native/SPIRV-Cross/spirv_glsl.cpp")
        .file("native/SPIRV-Cross/spirv_hlsl.cpp")
        .file("native/SPIRV-Cross/spirv_msl.cpp")
        .file("native/SPIRV-Cross/spirv_parser.cpp")
        .file("native/SPIRV-Cross/spirv_reflect.cpp")
        .file("native/spirv_cross_c_ext_rs.cpp");

    spvc_build.compile("spirv-cross");
    println!("cargo:rustc-link-lib=static=spirv-cross");
}