Split building

Alexander Neundorf neundorf at kde.org
Mon Jan 7 22:56:24 CET 2008


On Monday 07 January 2008, Piotr Jaroszyński wrote:
> On Monday 07 of January 2008 21:35:17 Alexander Neundorf wrote:
> > On Monday 07 January 2008, Piotr Jaroszyński wrote:
> > > This looks really promising, just did a simple test and e.g. for split
> > > libkonq build I get:
> > > SET(konq_LIB_DEPENDS ... )
> > > SET(konq_sound_LIB_DEPENDS ... )
> > > SET(kded_favicons_LIB_DEPENDS ... )
> > >
> > > All (or select) split packages could append to one file with deps and
> > > also include it(or its copy) at the same time. Shouldn't that work?
> >
> > Sorry, I don't understand.
> > Can you please explain, what exactly are you doing ?
>
> Just for test I have added
> EXPORT_LIBRARY_DEPENDENCIES(/var/tmp/konq-deps)
> to the topdir CMakelists.txt during the split build of libkonq. Split build
> meaning that we have only unpacked apps/lib/konq and mandatory stuff:
> .
> ./README
> ./COPYING
> ./AUTHORS
> ./CMakeLists.txt
> ./apps
> ./apps/ConfigureChecks.cmake
> ./apps/CMakeLists.txt
> ./apps/lib
> ./apps/lib/CMakeLists.txt
> ./apps/lib/konq/*
> ./apps/config-apps.h.cmake
>
> And the CMakeLists.txt have been modified to not add any stuff that we
> don't need to build.
>
> With such a setup the EXPORT_LIBRARY_DEPENDENCIES exports only the libkonq
> stuff and that's exactly what we need.
>
> Second part of the solution would be including the deps exported by kde
> packages built before (the correct build order is ensured by Gentoo package
> manager).

I'd like to get a feel how much apps and libs are affected by this.
Actually if kdepasswd would be an independent application, and if it would 
link to libkonq, it would do something like this:

find_package(LibKonq)
...
target_link_libraries(kdepasswd ${LIBKONQ_LIBRARIES} ... )


FindLibKonq.cmake could probably check whether it is called inside kdebase 
with libkonq or not (only slightly hackish) and act accordingly.
But I have the feeling that this would be quite some work, if we need to do 
this for every small app.

Can you make a list of affected apps and libs in (as many as possible) KDE 
modules ?

Would it be ok or Gentoo to have only very few library packages per KDE 
module, e.g. only 1 kdebase-libs package ?

Alex


More information about the Kde-buildsystem mailing list