Spec-Zone.ru › CMake 3.22

MSVC_RUNTIME_LIBRARY

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

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

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

Значение игнорируется в компиляторах, отличных от MSVC, но недопустимое значение будет отклонено как ошибка при использовании компилятора, нацеленного на 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 использует значение по умолчанию MultiThreaded$<$<CONFIG:Debug>:Debug>DLL для выбора библиотеки времени выполнения MSVC.

Примечание

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

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

Spec-Zone.ru

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