MSVC_RUNTIME_LIBRARY
Добавлено в версии 3.15.
Выбирает библиотеку среды выполнения MSVC для компиляторов, ориентированных на ABI MSVC.
Допустимые значения:
-
"" (set but empty) -
CMake явно не добавляет флаг выбора библиотеки среды выполнения.
Обратите внимание, что при использовании Генераторов Visual Studio собственная система сборки может добавить свой флаг выбора библиотеки среды выполнения по умолчанию.
-
MultiThreaded -
Компиляция с
-MTили эквивалентными флагами для использования многопоточной статически подключаемой библиотеки среды выполнения. -
MultiThreadedDLL -
Компиляция с
-MDили эквивалентными флагами для использования многопоточной динамически подключаемой библиотеки среды выполнения. -
MultiThreadedDebug -
Компиляция с
-MTdили эквивалентными флагами для использования многопоточной статически подключаемой библиотеки среды выполнения. -
MultiThreadedDebugDLL -
Компиляция с
-MDdили эквивалентными флагами для использования многопоточной динамически подключаемой библиотеки среды выполнения.
Значение игнорируется компиляторами, не ориентированными на ABI MSVC, однако неподдерживаемое значение вызовет ошибку при использовании компилятора, ориентированного на ABI MSVC.
Используйте generator expressions, чтобы задавать значение отдельно для каждой конфигурации. Например, следующий код:
add_executable(foo foo.c) set_property(TARGET foo PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
выбирает для цели foo многопоточную статически подключаемую библиотеку среды выполнения с отладочной информацией или без нее в зависимости от конфигурации.
Свойство инициализируется значением переменной CMAKE_MSVC_RUNTIME_LIBRARY, если она задана. Если свойство не задано, CMake использует значение по умолчанию MultiThreaded$<$<CONFIG:Debug>:Debug>DLL для выбора библиотеки среды выполнения MSVC.
Примечание
Это свойство действует, только если политика CMP0091 установлена в значение NEW до первого вызова команды project() или enable_language(), включающей язык с помощью компилятора, ориентированного на ABI MSVC.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html