[CMake] Get linker flags / include directories for a library target

Unknown ax487 at gmx.de
Fri Dec 21 09:12:30 EST 2018


Hello Kai,

thanks for your suggestion. I tried the property,
but I just got "foo_linker_flags-NOTFOUND" as a
result (I am using cmake 3.13.1 btw). The
same goes for

LINK_OPTIONS, and
INTERFACE_LINK_OPTIONS.

I tried using the INTERFACE_LINK_LIBRARIES property
instead. The resulting list contains things I can use,
such as /usr/lib/libz.so

However, I am using another cmake imported library.
Therefore, the list contains some libbaz::libbaz
dependency as well.

In order to get the actual list of libraries, I would
have to also resolve these names.

But this has to be done somewhere during the
generation of the Makefiles, so that functionality
must exist somewhere in cmake.


On Fri, 2018-12-21 at 09:33 +0100, Kai Wolf wrote:
> You can ask a CMake build target for its properties using
> get_target_property().
> For instance, to retrieve the linker flags for a given target foo,
> you’d write:
> 
>     get_target_prooperty(foo_linker_flags foo LINK_FLAGS)
> 
> See [1] for a list of valid parameters.
> 
> Greetings,
> 
> Kai
> 
> [1] 
> https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html#properties-on-targets
> 
> http://kai-wolf.me
> http://effective-cmake.com
> 
> > Am 20.12.2018 um 23:14 schrieb Unknown <ax487 at gmx.de>:
> > 
> > Dear community,
> > 
> > I have been wondering on multiple occasions about how to get the
> > linker flags (i.e. all -llib -Ldir) and include flags (-Idir)
> > for a library (i.e. a target added to the project using
> > add_library) within a cmake.
> > 
> > There are many cases in which the flags are required, noticeably
> > generating a suitable pkg-config file or creating a wrappers around
> > C/C++ libraries.
> > 
> > I think that it should be possible to derive the flags from
> > some of the target properties of the library, but I don't
> > know exactly how.
> > 
> > Could you give me a hand?
> > 
> > ax487
> > 
> > --
> > 
> > Powered by www.kitware.com
> > 
> > Please keep messages on-topic and check the CMake FAQ at: 
> > http://www.cmake.org/Wiki/CMake_FAQ
> > 
> > Kitware offers various services to support the CMake community. For
> > more information on each offering, please visit:
> > 
> > CMake Support: http://cmake.org/cmake/help/support.html
> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
> > CMake Training Courses: http://cmake.org/cmake/help/training.html
> > 
> > Visit other Kitware open-source projects at 
> > http://www.kitware.com/opensource/opensource.html
> > 
> > Follow this link to subscribe/unsubscribe:
> > https://cmake.org/mailman/listinfo/cmake



More information about the CMake mailing list