Spec-Zone.ru › CMake

CMAKE_MSVC_RUNTIME_LIBRARY

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

Выберите библиотеку времени выполнения MSVC для компиляторов, нацеленных на ABI MSVC. Эта переменная используется для инициализации свойства MSVC_RUNTIME_LIBRARY всех создаваемых целей. Она также передаётся вызовами команды try_compile() в тестовый проект.

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

"" (set but empty)

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

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

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

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

set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

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

Если эта переменная не задана, свойство цели 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/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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