Spec-Zone.ru › CMake 3.27

CMAKE_GENERATOR_TOOLSET

Спецификация набора инструментов системного построения, предоставленная пользователем.

Некоторые генераторы CMake поддерживают спецификацию набора инструментов, чтобы сообщить системе построения, как выбрать компилятор. Если пользователь указывает набор инструментов (например, через опцию cmake -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 или путь к автономному каталогу инструментария CUDA. Поддерживается 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.27/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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