Link library based on build configuration [cmake] [duplicate]
Asked Answered
P

2

4

Possible Duplicate:
Debug and Release Library Linking with CMAKE (VISUAL STUDIO)

cmake newb here, I would like to tell target_link_libraries to link a debug lib when using the debug configuration and link to a release lib when compiling under the release configuration.

How do I tell cmake to link a different lib file for the debug configuration?

Peruzzi answered 16/6, 2011 at 19:2 Comment(0)
C
9

The solution is:

SET(LINK_LIBRARY optimized Foo debug Foo_d)
target_link_libraries(MyEXE ${LINK_LIBRARY})
Cruelty answered 16/6, 2011 at 19:44 Comment(3)
Thanks! That's exactly what I was looking for. But now I have to figure out why cmake gives me this error: Cannot specify link libraries for target "HelloWorld" which is not built by this project.Peruzzi
Ah, nvm I was missing add_library (...)Peruzzi
And how to link different libraries for RelWithDebugInfo build configuration?Inlet
C
7

The target_link_libraries command lets you use keywords which indicate that the library immediately following is to be used only for the corresponding build configuration, e.g.:

target_link_libraries(foo debug bard.lib optimized bar.lib)

If you add multiple libraries with one target_link_libraries statement, the keyword has to be repeated for each library.

Cadre answered 16/6, 2011 at 19:51 Comment(1)
Wasted my entire day and this line saved me: If you add multiple libraries with one target_link_libraries statement, the keyword has to be repeated for each library. cheersFerde

© 2022 - 2024 — McMap. All rights reserved.