snomed-ecl-engine 0.1.2

Compact SNOMED CT ECL engine and RF2 index builder
Documentation
fn main() {
    #[cfg(feature = "unicode")]
    {
        let icu = pkg_config::Config::new()
            .atleast_version("72")
            .statik(true)
            .cargo_metadata(false)
            .probe("icu-i18n")
            .expect("Unicode term matching requires ICU4C development libraries and pkg-config");
        let mut build = cc::Build::new();
        build.file("src/text/icu.c");
        for path in &icu.include_paths {
            build.include(path);
        }
        build.warnings(true).compile("snomed_icu_search");
        for path in &icu.link_paths {
            println!("cargo:rustc-link-search=native={}", path.display());
        }
        for lib in &icu.libs {
            if lib.starts_with("icu") {
                println!("cargo:rustc-link-lib=static={lib}");
            } else {
                println!("cargo:rustc-link-lib={lib}");
            }
        }
        let target = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
        if target == "macos" {
            println!("cargo:rustc-link-lib=c++");
        } else if target != "windows" {
            println!("cargo:rustc-link-lib=stdc++");
        }
        println!("cargo:rustc-env=SNOMED_ICU_VERSION={}", icu.version);
        println!("cargo:rerun-if-changed=src/text/icu.c");
    }
}