Spec-Zone.ru › CMake

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

Spec-Zone.ru

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