MSVC_RUNTIME_LIBRARY
Добавлена в версии 3.15.
Выберите библиотеку времени выполнения MSVC для использования компиляторами, ориентированными на ABI MSVC.
Допустимые значения:
-
MultiThreaded -
Компилировать с
-MTили эквивалентными флагами для использования многопоточной статически связанной библиотеки времени выполнения. -
MultiThreadedDLL -
Компилировать с
-MDили эквивалентными флагами для использования многопоточной динамически связанной библиотеки времени выполнения. -
MultiThreadedDebug -
Компилировать с
-MTdили эквивалентными флагами для использования многопоточной статически связанной библиотеки времени выполнения. -
MultiThreadedDebugDLL -
Компилировать с
-MDdили эквивалентными флагами для использования многопоточной динамически связанной библиотеки времени выполнения.
Значение игнорируется компиляторами, не ориентированными на ABI MSVC, но недопустимое значение будет отклонено как ошибка при использовании компилятора, ориентированного на ABI MSVC.
Значение также может быть пустой строкой (""), в этом случае CMake не будет явно добавлять флаги выбора библиотеки времени выполнения. Обратите внимание, что с Генераторами Visual Studio собственная система сборки может выбрать добавление собственного значения по умолчанию для выбора библиотеки времени выполнения.
Используйте 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html