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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/prop_tgt/MSVC_RUNTIME_LIBRARY.html