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.18/prop_tgt/MSVC_RUNTIME_LIBRARY.html