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