当需要在cmake工程中需要区别debug和release模式,以使用不同lib库的时候。就需要在cmakelists.txt文件中区别当前模式。
单配置生成器下,使用CMAKE_BUILD_TYPE变量就能拿到当前是debug还是release
if(CMAKE_BUILD_TYPE STREQUAL "Debug")# 使用 Debug 库
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")# 使用 Release 库
endif()
多配置生成器下,如使用“Visual Studio 16 2019”,使用“cmake --build . --config Debug”命令构建时,CMAKE_BUILD_TYPE不再可用。这时候可以通过如下方式区分:
target_link_libraries(interactive_case"$<$<CONFIG:Debug>:${libname}_d.lib>""$<$<CONFIG:Release>:${libname}.lib>"
)