Пользуясь CMake, я привык к сборкам вне исходного кода, которые поощряются с помощью CMake. Как можно делать сборки вне исходного кода с помощью Cargo?
Снова использование in-source-builds похоже на шаг назад:
- Инструменты разработки должны быть настроены так, чтобы игнорировать пути. Иногда несколько плагинов и инструментов разработки - особенно с использованием VIM или Emacs!
- Некоторые инструменты нельзя настроить так, чтобы легко скрывать файлы сборки. Хотя точечные файлы обычно скрыты, они все равно будут отображать
Cargo.lock
иtarget/
, что еще хуже, рекурсивно раскрывая свое содержимое. - Удаление не отслеживаемых файлов для удаления всего, что не контролируется версией, обычно для очистки временных файлов редактора или некоторых тестовых выходных данных может иметь неприятные последствия, если вы забыли добавить новый файл в систему контроля версий и не вручную проверяли список файлов перед их удалением.
- Зависимости загружаются в ваш путь к исходному коду, иногда добавляя
*.rs
файлы вtarget
каталог как часть построения косвенных зависимостей, поэтому работа со всеми*.rs
файлами может случайно выбрать другие файлы, которые не находятся в скрытом каталоге, поэтому их нельзя игнорировать даже после настройки средств разработки.
Хотя все эти проблемы можно обойти, я бы предпочел просто иметь внешний путь сборки и сохранить исходный каталог в первозданном виде.