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 设置为真或假值,以指示每个配置是否被视为调试配置。该值也可以是空字符串(""),在这种情况下,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