#ninja-build #build-system #generator #file #meta

构建 ninja-files2

在 Rust 中构建自己的 ninja 文件元构建生成器

1 个不稳定版本

0.2.0 2024年4月15日

#362构建工具


cargo-ninja 中使用

MIT 许可证

41KB
1K SLoC

忍者文件

这是一个 Rust 模块集合,用于帮助构建 .ninja 文件。这允许您使用 Rust 生成 ninja 构建文件,比仅使用 cargo 提供更多功能。

https://ninja-build.org/manual.html

它也足够通用,适用于所有项目类型,而不仅仅是 Rust。它允许 Rust 作为 ninja 构建系统的 '元构建' 系统。

项目结构

项目结构为一个单仓库,包含一个元包,该包包含可以启用功能的常用项目。

data - 是核心数据类型和创建文件的构建器;cookie - 是使用 cookie-factory crate 编写的文件写入器。

lib 中的其他文件夹包含各种 '模块',这些模块将被发布为 crate。您可以根据需要选择这些模块,以便只引入所需的内容。

贡献

鼓励为人们提供额外的 '模块'。希望许多有用的模块将合并到这个仓库中,这样每个人都能从中受益。

仍然可以在自己的名字下发布自己的包。

示例

util/configure 是一个真实世界的示例,它为该项目生成 build.ninja 文件。要初始 seed 文件,请在根目录下运行 ./configure 以生成 ninja 文件。

ninja 的一个很棒的功能是,它可以配置 build.ninja 文件依赖于 util/configure 项目,因此如果配置项目更新,它将自动重新生成。

依赖项

~290–425KB