Spec-Zone.ru › CMake 3.29

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 и выше. Версия может быть использована только с глобально установленной VS интеграцией CUDA toolkit. См. переменные CMAKE_VS_PLATFORM_TOOLSET_CUDA и CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR.

fortran=<compiler>

Новое в версии 3.29.

Указывает компилятор Fortran для использования среди тех, у которых установлена необходимая функция интеграции с Visual Studio. Значение может быть одним из:

ifort

Классический компилятор Fortran от Intel.

ifx

Компилятор Fortran oneAPI от Intel.

См. переменную 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/v3.29/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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