Spec-Zone.ru › CMake 3.29

MSVC_RUNTIME_LIBRARY

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

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

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

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

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

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

Spec-Zone.ru

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