Spec-Zone.ru › CMake 3.31

CMAKE_MSVC_RUNTIME_LIBRARY

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

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

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

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

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

Используйте 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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