Spec-Zone.ru › CMake 3.26

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.

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–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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