我有以下板条箱结构:
|── 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身份使用的目录。对此有什么规范解决方案?
答案 0 :(得分:2)
我的第一个想法是有一个build.rs发出自己的货物命令,但我找不到允许传递目录以用作root的货物标志。
有一个命令行参数,但它不指望一个目录;相反,它期望Cargo.toml
文件的完整路径。该参数名为--manifest-path
,并且可用于许多子命令,例如build
和run
。它是这样使用的(注意相对路径也是有效的):
$ cargo build --manifest-path=/path/to/proj/src/bin/foo-bin-rs/Cargo.toml
如果您需要从构建脚本运行可执行文件,您可以像往常一样使用cargo run
一次性构建和运行。