MSVC_RUNTIME_LIBRARY
Выберите библиотеку времени выполнения 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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/prop_tgt/MSVC_RUNTIME_LIBRARY.html