MSVC_DEBUG_INFORMATION_FORMAT¶
在 3.25 版本中添加。
当目标为 MSVC ABI 时,选择调试信息格式。
允许的值为
嵌入式
使用
-Z7
或等效标志编译,以生成包含完整符号调试信息的对象文件。程序数据库
使用
-Zi
或等效标志编译,以生成包含所有符号调试信息的程序数据库。编辑并继续
使用
-ZI
或等效标志编译,以生成支持“编辑并继续”功能的程序数据库。
对于不以 MSVC ABI 为目标的编译器,此值将被忽略;但是,当使用以 MSVC ABI 为目标的编译器时,不支持的值将被拒绝并报错。
该值也可以是空字符串 (""
),在这种情况下,CMake 不会显式添加任何调试信息格式标志。
使用 generator expressions
来支持按配置指定。例如,以下代码
add_executable(foo foo.c)
set_property(TARGET foo PROPERTY
MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>")
为目标 foo
选择 Debug
和 RelWithDebInfo
配置的程序数据库调试信息格式。
此属性从 CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
变量的值初始化(如果已设置)。如果未设置此属性,CMake 将使用默认值 $<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>
(如果编译器支持)选择调试信息格式,否则使用 $<$<CONFIG:Debug,RelWithDebInfo>:Embedded>
。
注意
仅当策略 CMP0141
在首次调用 project()
或 enable_language()
命令(该命令启用使用以 MSVC ABI 为目标的编译器的语言)之前设置为 NEW
时,此属性才生效。