#build-system #native #running #fork #instructions #ninja #meson

构建 meson-next

用于运行 Meson 构建原生库的构建依赖包

10 个稳定版本

使用旧的 Rust 2015

1.2.3 2024 年 6 月 11 日
1.2.2 2022 年 12 月 26 日
1.0.1 2022 年 11 月 27 日

构建实用工具 中排名 #143

Download history 67/week @ 2024-05-03 19/week @ 2024-05-10 7/week @ 2024-05-17 1/week @ 2024-05-24 25/week @ 2024-05-31 126/week @ 2024-06-07 37/week @ 2024-06-14 51/week @ 2024-06-21 14/week @ 2024-06-28 40/week @ 2024-07-05 42/week @ 2024-07-12 9/week @ 2024-07-19 74/week @ 2024-07-26 47/week @ 2024-08-02 11/week @ 2024-08-09 31/week @ 2024-08-16

每月下载量 163
2 个包中使用(通过 libvmaf-sys

MIT 许可证

7KB
86

Rust meson-next 包

用于运行 Meson 构建原生库的构建依赖包。

该包是一个简单的包装器,用于调用系统的 meson 二进制文件。

请确保您已安装 mesonninja。有关您操作系统特定的安装说明,请参阅 Meson 的手册

该包是基于 dovee 的 meson 1.0 版本的分支,该版本已被放弃。

构建示例

.
├── 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;

fn main() {
    let build_path = PathBuf::from(env::var("OUT_DIR").unwrap());
    build_path.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')

无运行时依赖