MSVC_DEBUG_INFORMATION_FORMAT¶
在版本 3.25 中新增。
當目標為 MSVC ABI 時,選取偵錯資訊格式。
允許的值為
嵌入式
使用
-Z7
或等效旗標編譯,以產生包含完整符號偵錯資訊的物件檔案。程式資料庫
使用
-Zi
或等效旗標編譯,以產生包含所有符號偵錯資訊的程式資料庫。編輯並繼續
使用
-ZI
或等效旗標編譯,以產生支援「編輯並繼續」功能的程式資料庫。
當編譯器目標不是 MSVC ABI 時,此值會被忽略,但是當使用目標為 MSVC ABI 的編譯器時,不支援的值將會被拒絕並產生錯誤。
此值也可以是空字串 (""
),在這種情況下,CMake 不會明確加入任何偵錯資訊格式旗標。
使用 產生器表達式
以支援依組態規格。例如,以下程式碼
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
時,此屬性才會生效。