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 поддерживают указание набора инструментов в одном из следующих форматов:
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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/variable/CMAKE_GENERATOR_TOOLSET.html