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