2 个版本

0.1.1 2023年7月8日
0.1.0 2023年7月8日

#11#ninja-build

MIT 许可证

13KB
339

ninja_syntax

这是 ninja_syntax.py 的 Rust 版本。它允许您使用与 ninja 仓库中官方 Python 模块类似的语法,从 Rust 中轻松生成 ninja 构建文件。

示例

use ninja_syntax::*;
use std::path::Path;

fn main() {
  let mut nw = NinjaWriter(Path::new("build.ninja"));
  nw.comment("Hello this is a comment");
  nw.newline();

  let rule = NinjaRule::new("cc", "cc $in -o $out");
  nw.rule(&rule);

  let mut build = NinjaBuild::new(&["test.o"], "cc");
  build.inputs(&["test.c"]);
  nw.build(&build);

  // write the file to disk
  nw.close().unwrap();
}

鸣谢

最初由 Tobias Hieta 编写,Tamás Szelei 分支并使用 MIT 许可证(经作者许可)发布。大部分代码相同,但做了一些小的修改以提高易用性,并使用 textwrap 替代自定义的文本换行实现。最后,为了应用 正确的 缩进(两个空格)。最初是 sa_ninja_gen 的一部分,现在作为一个独立的 crate 发布。

依赖项

~645KB