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