Cargo: добавить способ установить значение по умолчанию --target

Созданный на 30 янв. 2016  ·  3Комментарии  ·  Источник: rust-lang/cargo

Например, если для вашего проекта вы всегда выполняете кросс-компиляцию с использованием cargo build --target=thumbv6m-none-eabi . Эта функция позволит вам добавить пару ключ-значение в ваш файл конфигурации Cargo:

# .cargo/config
[target]
default = "thumbv6m-none-eabi"

Это позволит вам просто вызвать cargo build для кросс-компиляции вашего проекта для thumbv6m-none-eabi . Это также распространяется на cargo doc .

Первоначально сообщается здесь .

Самый полезный комментарий

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

Все 3 Комментарий

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

Одним из недостатков (?) Того, чтобы сделать это параметром проекта, является то, что параметр всегда будет игнорироваться для зависимостей. Пример: если мой проект P зависит от ящика D и D установил T в качестве цели по умолчанию, этот параметр будет _всегда_ игнорироваться, потому что D всегда будет компилироваться для цели, которую я выбираю для P.

Одним из преимуществ использования .cargo / config является то, что если я разрабатываю несколько ящиков локально, у меня может быть такая настройка:

$ tree .
my-RTOS-project
├── .cargo
│   └── config
├── allocator
│   └── (...)
├── hal
│   └── (...)
├── RusTOS
│   └── (...)
└── scheduler
    └── (...)

И я могу переходить из одного каталога ящика в другой и запускать cargo test . В какой-то момент я могу отредактировать одну строку в .cargo / config и начать тестирование своих ящиков для другой цели.

Ага, да, действительно! Это в некоторой степени подпадает под действие https://github.com/rust-lang/cargo/issues/2122, где это _не должно_ быть недостатком, но там также есть некоторая дизайнерская работа.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги