CMAKE_MSVC_RUNTIME_LIBRARY
Выберите библиотеку времени выполнения MSVC для использования компиляторами, нацеленными на MSVC ABI. Эта переменная используется для инициализации свойства MSVC_RUNTIME_LIBRARY для всех целевых объектов при их создании. Она также передается вызовами команды try_compile() в проект тестирования.
Разрешенные значения:
-
MultiThreaded -
Компилировать с
-MTили эквивалентным флагом(ами) для использования многопоточной статически связанной библиотеки времени выполнения. -
MultiThreadedDLL -
Компилировать с
-MDили эквивалентным флагом(ами) для использования многопоточной динамически связанной библиотеки времени выполнения. -
MultiThreadedDebug -
Компилировать с
-MTdили эквивалентным флагом(ами) для использования многопоточной статически связанной библиотеки времени выполнения. -
MultiThreadedDebugDLL -
Компилировать с
-MDdили эквивалентным флагом(ами) для использования многопоточной динамически связанной библиотеки времени выполнения.
Значение игнорируется для компиляторов, не являющихся MSVC, но неподдерживаемое значение будет отклонено как ошибка при использовании компилятора, нацеленного на MSVC ABI.
Значение также может быть пустой строкой ("") в этом случае CMake явно не добавит флаг выбора библиотеки времени выполнения. Обратите внимание, что с Генераторами Visual Studio собственная система построения может выбрать добавление своего собственного флага выбора библиотеки времени выполнения по умолчанию.
Используйте generator expressions для поддержки указания параметров на конфигурационном уровне. Например, код:
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
выбирает для всех последующих целевых объектов многопоточную статически связанную библиотеку времени выполнения с или без отладочной информации в зависимости от конфигурации.
Если эта переменная не задана, свойство целевого объекта MSVC_RUNTIME_LIBRARY не будет автоматически установлено. Если это свойство не задано, 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/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html