CMAKE_VS_USE_DEBUG_LIBRARIES

在 3.30 版本加入。

Visual Studio 產生器 指示哪些組態被視為偵錯組態。這會控制 UseDebugLibraries.vcxproj 檔案的每個組態中的設定。

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