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 поддерживают указание набора инструментов в следующих форматах:
toolsettoolset[,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