Spec-Zone.ru › CMake 3.24

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–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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