FindKdepimLibs.cmake

Alexander Neundorf neundorf at kde.org
Fri Jun 1 03:00:19 BST 2007


On Wednesday 30 May 2007 05:56, Aaron J. Seigo wrote:
> hi..
>
> the FindKdepimLibs.cmake module in kdelibs/cmake/modules/ assumes that
> libsyndication from kdepimlibs will be built if kdepimlibs exists; or at
> least it unconditionally sets KDE4_SYNDICATION_LIBS. however,
> libsyndication is an option component of kdepimlibs depending on whether or
> not Boost is available on the system at build time.
>
> i assumed that libsyndication not being there would result in
> KDE4_SYNDICATION_LIBS not being set, but this evidently isn't the case and
> has, in turn, created an unintentional hard dependency on Boost in kdebase
> (workspace/plasma/engines/cia.vc, to be exact). i don't particularly like
> this, and figure the solution is to deal with KDE4_SYNDICATION_LIBS
> properly in FindKdepimLibs.cmake.
>
> however, i'm not sure how to implement this in FindKdepimLibs in the most
> appropriate fashion and am hoping a cmake guru might be able to offer some
> insight. my guess is that a find_library(KDE4_SYNDICATION_LIBRARY NAMES
> syndication) is what is necessary, followed by a call to see if
> ${KDE4_SYNDICATION_LIBRARY} gets set (meaning that libsyndication is there)
> and then based on that setting KDE4_SYNDICATION_LIBS.
>
> is that the right approach, is there a better/preferred mechanism?

I had a closer look at the file.
What's the deal with kdepimlibs ?
Does it _have_ to be installed to the same location as kdelibs ?
I guess not, and then the following things are not ok there:
-also under UNIX the libs should be searched using FIND_LIBRARY(), so they get 
their full path and the link dir ordering can work correctly
-it's include dir shouldn't be added to KDE4_INCLUDES. It's a separate package 
with a separate FindKdepimLibs.cmake module, so it has its own set of 
variables which have to be used and shouldn't modify variables set up by 
other modules.
-for the windows case: where does kabc_LIB_DEPENDENCIES etc. come from ? The 
only EXPORT_LIBRARY_DEPENDENCIES() call I found is in kdelibs. We probably 
need it too in kdepimlibs.

Bye
Alex






More information about the kde-core-devel mailing list