CMAKE_VS_USE_DEBUG_LIBRARIES¶
於 3.30 版本新增。
向Visual Studio 產生器指示哪些組態被視為除錯組態。這會控制 .vcxproj
檔案中每個組態的 UseDebugLibraries
設定。
Visual Studio 專案中的「使用除錯程式庫」設定,儘管其名稱聽起來很具體,但它是指出哪些組態被視為除錯組態的通用指標。在獨立專案中,這可能會影響 MSBuild 對 MSVC 執行階段程式庫、最佳化旗標、執行階段檢查和類似設定的預設選擇。在 CMake 專案中,這些設定通常會根據專案的規格明確產生,例如,MSVC 執行階段程式庫由 CMAKE_MSVC_RUNTIME_LIBRARY
控制。但是,UseDebugLibraries
指標對於人類和工具的參考都很有用,並且也可能影響特定平台 SDK 的行為。
將 CMAKE_VS_USE_DEBUG_LIBRARIES
設定為 true 或 false 值,以指示每個組態是否被視為除錯組態。該值也可以是空字串(""
),在這種情況下,CMake 不會明確新增 UseDebugLibraries
,而 MSBuild 將使用其預設值 false
。
使用 產生器運算式
來進行每個組態的規格設定。例如,以下程式碼
set(CMAKE_VS_USE_DEBUG_LIBRARIES "$<CONFIG:Debug,Custom>")
表示以下所有目標都將其「Debug」和「Custom」組態視為除錯組態,而將其他組態視為非除錯組態。
此變數用於初始化所有目標在建立時的 VS_USE_DEBUG_LIBRARIES
屬性。它也會透過呼叫 try_compile()
命令傳播到其測試專案中。
如果未設定此變數,則不會自動設定 VS_USE_DEBUG_LIBRARIES
屬性。如果未設定該屬性,則 CMake 會使用啟發式方法來確定哪些組態是除錯組態,並產生 UseDebugLibraries
。請參閱政策 CMP0162
。