Spec-Zone.ru › CMake 3.30

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 от 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/v3.30/variable/CMAKE_GENERATOR_TOOLSET.html

Spec-Zone.ru

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