Spec-Zone.ru › CMake

MSVC_RUNTIME_LIBRARY

Добавлено в версии 3.15.

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

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

"" (set but empty)

CMake явно не добавляет флаг выбора библиотеки среды выполнения.

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

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

Используйте 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(), включающей язык с помощью компилятора, ориентированного на ABI MSVC.

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

Spec-Zone.ru

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