用货物

时间:2017-05-10 03:05:53

标签: rust rust-cargo

我有以下板条箱结构:

|── proj/
    └── src/
        └── bin/
            └── foo-bin-rs/
                └── src/
                    └── main.rs
                └── Cargo.toml
        └── main.rs
    └── Cargo.toml
    └── build.rs

foo-bin-rs是一个子模块。我想找一个发布构建的简洁方法 通过货物命令将构建foo-bin-rs作为构建的一部分 用于proj的命令。我还没找到任何使用该文档的文档 src/bin目录,其中二进制文件是它们自己独立的包,只是 单个文件。我的第一个想法是发布了自己的build.rs cargo命令,但是我无法找到允许通过货物的货物旗帜 以root身份使用的目录。对此有什么规范解决方案?

1 个答案:

答案 0 :(得分:2)

  

我的第一个想法是有一个build.rs发出自己的货物命令,但我找不到允许传递目录以用作root的货物标志。

有一个命令行参数,但它不指望一个目录;相反,它期望Cargo.toml文件的完整路径。该参数名为--manifest-path,并且可用于许多子命令,例如buildrun。它是这样使用的(注意相对路径也是有效的):

$ cargo build --manifest-path=/path/to/proj/src/bin/foo-bin-rs/Cargo.toml

如果您需要从构建脚本运行可执行文件,您可以像往常一样使用cargo run一次性构建和运行。