Spec-Zone.ru › CMake 3.19

CMAKE_MSVC_RUNTIME_LIBRARY

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

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

Разрешённые значения:

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

Значение игнорируется для компиляторов, не являющихся 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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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