MSVC_RUNTIME_CHECKSΒΆ
Added in version 4.0.
Select the list of enabled runtime checks when targeting the MSVC ABI.
The allowed values are:
PossibleDataLossCompile with
-RTCcor equivalent flag(s) to enable possible data loss checks.StackFrameErrorCheckCompile with
-RTCsor equivalent flag(s) to enable stack frame error checks.UninitializedVariableCompile with
-RTCuor equivalent flag(s) to enable uninitialized variables checks.
The value is ignored on compilers not targeting the MSVC ABI, but an unsupported value will be rejected as an error when using a compiler targeting the MSVC ABI.
The value may also be the empty string (""), in which case no runtime
error check flags will be added explicitly by CMake.
Use generator expressions to
support per-configuration specification. For example, the code:
add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
MSVC_RUNTIME_CHECKS "$<$<CONFIG:Debug,RelWithDebInfo>:PossibleDataLoss;UninitializedVariable>")
enables for the target foo the possible data loss and uninitialized
variables checks for the Debug and RelWithDebInfo configurations.
This property is initialized from the value of the
CMAKE_MSVC_RUNTIME_CHECKS variable, if it is set.
If this property is not set, CMake selects runtime checks using the default
value $<$<CONFIG:Debug>:StackFrameErrorCheck;UninitializedVariable>,
if supported by the compiler, or an empty value otherwise.
Note
This property has effect only when policy CMP0184 is set to NEW
prior to the first project() or enable_language() command
that enables a language using a compiler targeting the MSVC ABI.