CMAKE_VS_USE_DEBUG_LIBRARIES

3.30 版本新增。

指示 Visual Studio Generators 哪些配置被视为调试配置。这会控制 .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