Spec-Zone.ru › CMake 3.29

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.29/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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