Specifying different libraries for Debug & Release

2019-07-08 20:23发布

I'm trying to write a CMakeLists.txt file so that it generates a Visual Studio solution. I have several external libraries, and some libraries have different import libraries for Debug & Release mode.

In Visual Studio, I'd manually select each mode, and change the name of the library and the required directory. I think I need to play with target_link_libraries and set(CMAKE_BUILD_TYPE Release) but I haven't had any luck so far.

1条回答
ゆ 、 Hurt°
2楼-- · 2019-07-08 20:52

The target_link_libraries command supports "debug" and "optimized" keywords, which indicate that the library immediately following it is to be used only for the corresponding build configuration:

target_link_libraries(MyTarget debug externalLib_d optimized externalLib)

If the debug and release libraries reside in different directories, specify the full path, i.e.:

target_link_libraries(MyTarget debug "debug_dir/externalLib_d" optimized "release_dir/externalLib")

Also see the target_link_libraries command documentation.

查看更多
登录 后发表回答