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