Spec-Zone.ru › CMake 3.21

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

Spec-Zone.ru

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