Spec-Zone.ru › CMake 3.23

MSVC_RUNTIME_LIBRARY

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

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

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

MultiThreaded

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

MultiThreadedDLL

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

MultiThreadedDebug

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

MultiThreadedDebugDLL

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

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

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

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

add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
  MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

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

Если эта свойство не установлено, CMake использует значение по умолчанию MultiThreaded$<$<CONFIG:Debug>:Debug>DLL для выбора библиотеки времени выполнения MSVC.

Примечание

Это свойство имеет эффект только когда политика CMP0091 установлена в NEW до первого project() или enable_language() команды, которая включает язык, использующий компилятор, нацеленный на MSVC ABI.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/prop_tgt/MSVC_RUNTIME_LIBRARY.html

Spec-Zone.ru

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