Spec-Zone.ru › CMake 3.25

MSVC_RUNTIME_LIBRARY

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

Выберите библиотеку времени выполнения MSVC для использования компиляторами, нацеленными на MSVC ABI.

Допустимые значения:

MultiThreaded

Компилировать с -MT или эквивалентным(и) флагом(ами) для использования многопоточной статически связанной библиотеки времени выполнения.

MultiThreadedDLL

Компилировать с -MD или эквивалентным(и) флагом(ами) для использования многопоточной динамически связанной библиотеки времени выполнения.

MultiThreadedDebug

Компилировать с -MTd или эквивалентным(и) флагом(ами) для использования многопоточной статически связанной библиотеки времени выполнения.

MultiThreadedDebugDLL

Компилировать с -MDd или эквивалентным(и) флагом(ами) для использования многопоточной динамически связанной библиотеки времени выполнения.

Значение игнорируется компиляторами, не нацеленными на MSVC ABI, но недопустимое значение будет отклонено как ошибка при использовании компилятора, нацеленного на MSVC ABI.

Значение также может быть пустой строкой (""), в этом случае CMake не будет добавлять явно флаг выбора библиотеки времени выполнения. Обратите внимание, что с Генераторами Visual Studio собственная система сборки может выбрать добавление собственного значения по умолчанию для выбора библиотеки времени выполнения.

Используйте generator expressions, чтобы поддерживать указание на конфигурационном уровне. Например, код:

add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
  MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

выбирает для целевого объекта foo многопоточную статически связанную библиотеку времени выполнения с или без отладочной информации в зависимости от конфигурации.

Свойство инициализируется значением переменной CMAKE_MSVC_RUNTIME_LIBRARY, если она задана. Если свойство не задано, CMake использует значение по умолчанию MultiThreaded$<$<CONFIG:Debug>:Debug>DLL для выбора библиотеки времени выполнения MSVC.

Примечание

Это свойство имеет эффект только когда политика CMP0091 установлена в значение NEW до первого вызова команды project() или enable_language(), которая включает язык, используя компилятор, нацеленный на MSVC ABI.

© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.25/prop_tgt/MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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