MSVC_RUNTIME_LIBRARYΒΆ
Added in version 3.15.
Select the MSVC runtime library for use by compilers targeting the MSVC ABI.
The allowed values are:
""(set but empty)No runtime library selection flag will be added explicitly by CMake.
Note that with Visual Studio Generators the native build system may choose to add its own default runtime library selection flag.
MultiThreadedCompile with
-MTor equivalent flag(s) to use a multi-threaded statically-linked runtime library.MultiThreadedDLLCompile with
-MDor equivalent flag(s) to use a multi-threaded dynamically-linked runtime library.MultiThreadedDebugCompile with
-MTdor equivalent flag(s) to use a multi-threaded statically-linked runtime library.MultiThreadedDebugDLLCompile with
-MDdor equivalent flag(s) to use a multi-threaded dynamically-linked runtime library.
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.
Use generator expressions to
support per-configuration specification. For example, the code:
add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
selects for the target foo a multi-threaded statically-linked runtime
library with or without debug information depending on the configuration.
The property is initialized from the value of the
CMAKE_MSVC_RUNTIME_LIBRARY variable, if it is set.
If the property is not set, then CMake uses the default value
MultiThreaded$<$<CONFIG:Debug>:Debug>DLL to select a MSVC runtime library.
Note
This property has effect only when policy CMP0091 is set to NEW
prior to the first project() or enable_language() command
that enables a language using a compiler targeting the MSVC ABI.