使用Cargo使用同一源目录为多个平台构建的最佳方法是什么?

时间:2019-03-08 15:55:32

标签: rust rust-cargo

我经常在台式机和笔记本电脑(具有不同操作系统)之间切换。为了协调起见,我想将我的开发/项目目录存储在Dropbox中。

Cargo将尝试从两个操作系统构建到同一目录(即target/debug)。理想情况下,我希望有一种方法可以让我在每个平台上自动构建到特定于平台的构建目录:

  • target/x86_64-apple-darwin
  • target/x86_64-pc-windows-msvc
  • target/x86_64-unknown-linux-gnu

...或类似的东西。

2 个答案:

答案 0 :(得分:5)

我建议您查看树外版本。

如果您有一个项目,例如:

project/
    Cargo.toml

您可以添加一个.cargo目录:

project/
    .cargo/
        config
    Cargo.toml

然后将以下内容放入config文件中:

[build]
target-dir = "/tmp/build/dir"

只要该路径对两个操作系统均有效,则每个路径都将指向 local 构建。

此外...您将避免将MB / GB的二进制文件同步到您的Dropbox帐户。

答案 1 :(得分:1)

我接受Matthieu M.'s suggestion是因为它优雅,实用并且利用了Cargo的功能...但是我意识到,尽管它是Dropbox专用的,但还有另一种简单的方法可以解决此问题。

您可以使用Dropbox的“ selective sync”功能来禁用target目录的同步!