When linking a binary I can use CMAKE_EXE_LINKER_FLAGS
to add a flag (let's say -Wl,-as-needed
). However, if I link a library this extra flag will not be taken into account. I would need something like CMAKE_LIB_LINKER_FLAGS
but I can't find it.
How should I do this?
Note: modern CMake has a better solution than mentioned below (see updates for details).
You can use CMAKE_SHARED_LINKER_FLAGS like:
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
This question looks like related.
UPD
Thanks to @Bruce Adams who points out that since v3.13 CMake has special command for such purpose: add_link_options
.
UPD 2
Thanks to @Alex Reinking who points out that modern CMake doesn't recommend using global settings. It is suggested to give the preference to the property settings before the global ones, so instead of add_link_options
that has a global scope, the target_link_options
should be used. See Alex's answer for details.