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