Expand description
§Build Example
.
├── build.rs
├── Cargo.toml
├── clib
│ ├── meson.build
│ ├── squid.h
│ └── squid.c
└── src
└── lib.rs
build.rs:
extern crate meson_next as meson;
use std::env;
use std::path::PathBuf;
use std::collections::HashMap;
fn main() {
let build_path = PathBuf::from(env::var("OUT_DIR").unwrap()).join("build");
let build_path = build_path.to_str().unwrap();
let mut options = HashMap::new();
options.insert("key", "value");
let config = meson::Config::new().options(options);
println!("cargo:rustc-link-lib=squid");
println!("cargo:rustc-link-search=native={}", build_path);
meson::build("clib", build_path, config);
}
Cargo.toml:
# ...
[build-dependencies]
meson-next = "1"
meson.build:
project('squid', 'c')
shared_library('squid', 'squid.c')
Re-exports§
pub use config::Config;
Modules§
Functions§
- build
- Runs meson and/or ninja to build a project.