Spec-Zone.ru › CMake

MSVC_RUNTIME_CHECKS

Добавлено в версии 4.0.

Выберите список включённых проверок времени выполнения при использовании целевой платформы с ABI MSVC.

Допустимые значения:

PossibleDataLoss

Компилировать с -RTCc или эквивалентными флагами для включения проверок возможной потери данных.

StackFrameErrorCheck

Компилировать с -RTCs или эквивалентными флагами для включения проверок ошибок кадра стека.

UninitializedVariable

Компилировать с -RTCu или эквивалентными флагами для включения проверок неинициализированных переменных.

Это значение игнорируется компиляторами, не предназначенными для ABI MSVC, однако неподдерживаемое значение будет отклонено с ошибкой при использовании компилятора, предназначенного для ABI MSVC.

Значением также может быть пустая строка (""); в этом случае CMake не будет явно добавлять флаги проверок ошибок времени выполнения.

Используйте generator expressions для задания значений отдельно для каждой конфигурации. Например, следующий код:

add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
  MSVC_RUNTIME_CHECKS "$<$<CONFIG:Debug,RelWithDebInfo>:PossibleDataLoss;UninitializedVariable>")

включает для целевого объекта foo проверки возможной потери данных и неинициализированных переменных для конфигураций Debug и RelWithDebInfo.

Это свойство инициализируется значением переменной CMAKE_MSVC_RUNTIME_CHECKS, если она задана. Если это свойство не задано, CMake выбирает проверки времени выполнения, используя значение по умолчанию $<$<CONFIG:Debug>:StackFrameErrorCheck;UninitializedVariable>, если оно поддерживается компилятором, или пустое значение в противном случае.

Примечание

Это свойство действует только в том случае, если политика CMP0184 установлена в значение 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_CHECKS.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API