[CMake] What is the preferred method of handling inter-library dependencies?

Brad King brad.king at kitware.com
Wed Jul 19 15:11:29 EDT 2006


Alan W. Irwin wrote:
> I believe you need more information than -L and -l options; you also
> need to
> know the special link options that are required (for rpath, shared versus
> static, bundle or whatever) on the particular platform that is being used
> for the build.
> 
> Bill mentioned above the possibility of making something specific to
> pkg-config, but I think I prefer the following approach instead: I would
> like GET_TARGET_PROPERTY to have the option to deliver back the exact and
> complete compile flags and link flags (for the install location in the
> rpath
> case) that CMake uses to build that target on the build platform.  Once
> that
> information is available to cmake users, it is completely
> straightforward to
> use it to configure packaging files of _any_ type including pkg-config
> ones.
> 
> It sounds like this is a CMake wish-list item

The options used for building the library and those needed for using the
library can be quite different.  What we need is to add a distinction
between the *interface* to a target and the *implementation* of the
target.  The interface needs to be exported to packaging files while the
implementation can remain exclusively within the project.  This
separation has been on the long-term todo list for a while.

-Brad


More information about the CMake mailing list