如何强制 CMake 与新的 Visual Studio 配置中的调试库链接?

3 cmake visual-studio

我正在使用 CMake 创建一个 Visual Studio 2008 项目。在这个项目中,我需要创建一个名为 UnitaryTests 的新配置。所以,在 CMakeLists.txt 我把这行

set(CMAKE_CONFIGURATION_TYPES "Release;Debug;UnitaryTest" CACHE STRING "Configurations" FORCE) 
Run Code Online (Sandbox Code Playgroud)

稍后在 CMakeLists.txt 文件中有以下行:

target_link_libraries( ${PROJECT_NAME} ${ASTEK_LIBRARIES} )
Run Code Online (Sandbox Code Playgroud)

与外部包链接。变量 ASTEK_LIBRARIES 包含如下文本:

debug;debug/libs;optimized;release/libs
Run Code Online (Sandbox Code Playgroud)

我的问题是我必须强制新配置只使用这个包的调试版本(目前它使用的是发布版本)。你知道怎么做吗?

注意:填充变量 ASTEK_LIBRARIES 的不是我。它是由我无法更改的公司脚本创建的。

谢谢你的帮助。

Fra*_*ser 5

用:

set_property(GLOBAL PROPERTY DEBUG_CONFIGURATIONS "Debug;UnitaryTest")
Run Code Online (Sandbox Code Playgroud)

如果你也RelWithDebInfo定义了,这也属于这里。

有关更多信息,请运行:

cmake --help-property DEBUG_CONFIGURATIONS
Run Code Online (Sandbox Code Playgroud)