Reducing excess linkage - cmake 2.6 IMPORTED targets and LINK_INTERFACE_LIBRARIES for kdelibs

Alexander Neundorf neundorf at kde.org
Mon May 26 20:00:42 CEST 2008


On Wednesday 21 May 2008, Alexander Neundorf wrote:
...
> > Well, that's not a bad idea. kdelibs and kdepimlibs can generate two
> > dependency files with cmake 2.6:
> >
> > 1) Old with _LIB_DEPENDS.
> > 2) New with IMPORTED targets and LINK_INTERFACE_LIBRARIES in effect.
>
> Please update kdelibs from svn (or at least kdelibs/CMakeLists.txt and the
> new kdelibs/CreateKDELibsDependenciesFile.cmake).
>
> I implemented it a bit (quite) different.
> If you enable the new option KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT, the
> target property LINK_INTERFACE_LIBRARIES will be queried for all library
> targets and set()-commands will be generated after the ones from
> export_library_dependencies() so they override these values.
> This should be very compatible to the cmake 2.6 behaviour, where the full
> list of libs is used if this property hasn't been set.
> This means we will have identical behaviour with cmake 2.4 and 2.6 and once
> we require cmake 2.6 the work done now is what we will need then too (and
> adding the exports).
>
> This means to make this work for you you have to set the
> LINK_INTERFACE_LIBRARIES property for the library targets. This shouldn't
> be a problem no matter whether you are using cmake 2.4.x, cmake 2.6.x or
> whether this option is enabled or disabled.
> If it is disabled, the property will be set but it will be completely
> ignored. If it works for you, and also Dirk agrees, and also the release
> team agrees, I'd enable this always under UNIX (not APPLE).

Dirk, Sune, Modestas, any comments or interest in this ?

Alex


More information about the Kde-buildsystem mailing list