Какой лучший способ использовать Cargo для сборки на нескольких платформах с использованием одного и того же исходного каталога? - PullRequest
1 голос
/ 08 марта 2019

Я часто переключаюсь между своим рабочим столом и ноутбуком, на которых установлены разные операционные системы.Чтобы координировать, я хотел бы сохранить свои каталоги разработки / проекта, хранящиеся в Dropbox.

Cargo будет пытаться выполнить сборку в один и тот же каталог (то есть target/debug) из обеих операционных систем.В идеале мне нужен способ, который позволил бы мне автоматически создавать каталоги для каждой платформы для каждой платформы:

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

... или что-то подобное.

Ответы [ 2 ]

5 голосов
/ 08 марта 2019

Я бы порекомендовал посмотреть сборки вне дерева.

Если у вас есть такой проект, как:

project/
    Cargo.toml

Вы можете добавить каталог .cargo:

project/
    .cargo/
        config
    Cargo.toml

И поместите в файл config следующее:

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

Пока путь действителен для обеих операционных систем, каждая из них будет указывать на local build.

Плюс ... вы не будете синхронизировать двоичные файлы MB / GB с вашей учетной записью Dropbox.

1 голос
/ 08 марта 2019

Я принял предложение Мэтью М. , потому что оно было элегантным, функциональным и использовало функции Cargo ... но я понял, что есть еще один простой способ решить эту проблему, хотя он специфичен для Dropbox.

Вы можете использовать функцию Dropbox " выборочная синхронизация ", чтобы отключить синхронизацию каталога target!

...