Spec-Zone.ru › CMake 3.22

CMAKE_GENERATOR_TOOLSET

Указание набора инструментов для системной сборки, предоставленное пользователем.

Некоторые генераторы CMake поддерживают указание набора инструментов, чтобы указать системной системе сборки, как выбрать компилятор. Если пользователь указывает набор инструментов (например, через опцию cmake(1) -T или через переменную окружения CMAKE_GENERATOR_TOOLSET), значение будет доступно в этой переменной.

Значение этой переменной не должно изменяться кодом проекта. Файл цепочки инструментов, указанный переменной CMAKE_TOOLCHAIN_FILE, может инициализировать CMAKE_GENERATOR_TOOLSET. После инициализации определенного дерева сборки с конкретным значением этой переменной, изменение значения имеет неопределенное поведение.

Поддержка указания набора инструментов доступна только для определённых генераторов:

  • Генераторы Visual Studio для VS 2010 и выше
  • Генератор Xcode для Xcode 3.0 и выше
  • Генератор Green Hills MULTI

См. документацию системной системы сборки для разрешенных имен наборов инструментов.

Выбор набора инструментов Visual Studio

Генераторы Visual Studio поддерживают указание набора инструментов с помощью одного из этих форматов:

  • toolset
  • toolset[,key=value]*
  • key=value[,key=value]*

toolset указывает имя набора инструментов. Выбранное имя набора инструментов предоставляется в переменной CMAKE_VS_PLATFORM_TOOLSET.

key=value пары формируют список опций через запятую для указания деталей, специфичных для генератора, выбора набора инструментов. Поддерживаемые пары:

cuda=<version>|<path>

Указывает версию CUDA toolkit для использования или путь к каталогу автономного CUDA toolkit. Поддерживается VS 2010 и выше. Версия может использоваться только с глобально установленной интеграцией CUDA toolkit с VS. См. переменные CMAKE_VS_PLATFORM_TOOLSET_CUDA и CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.

host=<arch>

Указывает архитектуру инструментов хоста как x64 или x86. Поддерживается VS 2013 и выше. См. переменную CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.

version=<version>

Указывает версию набора инструментов для использования. Поддерживается VS 2017 и выше при установке указанного набора инструментов. См. переменную CMAKE_VS_PLATFORM_TOOLSET_VERSION.

VCTargetsPath=<path>

Указывает альтернативное значение VCTargetsPath для файлов проекта Visual Studio. Это позволяет использовать конфигурационные файлы расширения платформы VS (.props и .targets), которые не установлены с VS.

Настройка набора инструментов Visual Studio

Эти интерфейсы нестабильны и не гарантируют совместимости, поскольку они привязаны к недокументированным внутренним деталям реализации CMake. Организации могут использовать их для внутренней поддержки непубличных платформ и наборов инструментов Visual Studio, но должны нести ответственность за обновления по мере внесения изменений в CMake.

Доступны дополнительные key=value пары:

customFlagTableDir=<path>

Добавлено в версии 3.21.

Указывает абсолютный путь к каталогу, из которого следует загружать таблицы параметров, хранящиеся в JSON-документах с именами файлов вида <platform>_<toolset>_<tool>.json или <platform>_<tool>.json, где <platform> — CMAKE_VS_PLATFORM_NAME, <toolset> — CMAKE_VS_PLATFORM_TOOLSET, а <tool> — инструмент, для которого предназначена таблица параметров. Эта схема именования — внутренняя деталь реализации CMake. Имена <tool> не документированы. Формат файлов таблиц параметров .json не документирован.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API