MSVC_RUNTIME_LIBRARY¶
版本 3.15 中添加。
选择 MSVC 运行时库以供编译器使用,这些编译器针对 MSVC ABI。
允许的值是
MultiThreaded
使用
-MT
或同等标记编译,以使用多线程静态链接的运行时库。MultiThreadedDLL
使用
-MD
或同等标记编译,以使用多线程动态链接的运行时库。MultiThreadedDebug
使用
-MTd
或同等标记编译,以使用多线程静态链接的运行时库。MultiThreadedDebugDLL
使用
-MDd
或同等标记编译,以使用多线程动态链接的运行时库。
该值在未针对 MSVC ABI 的编译器上会被忽略,但使用针对 MSVC ABI 的编译器时,不受支持的值会被拒绝并提示错误。
该值也可能是空字符串 (""
),在这种情况下,CMake 不会明确添加运行时库选择标记。注意,对于 Visual Studio 生成器,本机构建系统可选择添加其自己的默认运行时库选择标记。
使用 generator expressions
以支持按配置规范。例如,下列代码
add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
根据配置为目标 foo
选择带有或不带有调试信息的静态链接的多线程运行时库。
该属性从 CMAKE_MSVC_RUNTIME_LIBRARY
变量的值中进行初始化(如果已设置)。如果未设置该属性,则 CMake 使用默认值 MultiThreaded$<$<CONFIG:Debug>:Debug>DLL
来选择 MSVC 运行时库。
注意
在第一个使用针对 MSVC ABI 的编译器的 project()
或 enable_language()
命令之前,将策略 CMP0091
设置为 NEW
时,此属性才有效。