Spec-Zone.ru › CMake 3.31

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 toolkit для использования или путь к каталогу автономного CUDA toolkit. Поддерживается VS 2010 и выше. Версия может использоваться только с глобально установленной интеграцией CUDA toolkit в VS. См. переменные CMAKE_VS_PLATFORM_TOOLSET_CUDA и CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.

fortran=<compiler>

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

Укажите используемый компилятор Fortran из тех, у которых установлена необходимая функция интеграции с Visual Studio. Значение может быть одним из:

ifort

Классический компилятор Fortran от Intel.

ifx

Компилятор Fortran от Intel oneAPI.

См. переменную CMAKE_VS_PLATFORM_TOOLSET_FORTRAN.

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.31/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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