What to do with the kdebase/workspace dependency?

Alexander Neundorf neundorf at kde.org
Wed May 12 21:22:57 CEST 2010


On Tuesday 11 May 2010, Andreas Pakulat wrote:
> On 11.05.10 23:06:31, Alexander Neundorf wrote:
> > On Tuesday 11 May 2010, Andreas Pakulat wrote:
> > > On 11.05.10 22:18:01, Alexander Neundorf wrote:
> > > > On Tuesday 11 May 2010, Andreas Pakulat wrote:
> > > > > Hi,
> > > > >
> > > > > so, 4.0 is out and I think we should try to tackle the
> > > > > kdebase/workspace dependency. Its a problem for various distro's
> > > > > which split the libraries, its a problem for people compiling
> > > > > kdebase themselves and disabling parts of it (because the
> > > > > kdebase/workspace cmake stuff doesn't support this properly)
> > > >
> > > > What exactly ?
> > >
> > > There's just a single KDE4WorkspaceConfig.cmake that loads and creates
> > > all targets and only those that were active during building of
> > > kdebase/workspace. What would be needed is a way to do find_package(
> > > KDE4Workspace 4.3.0 COMPONENTS processui processcore REQUIRED) and have
> > > it fail if either processui or processcore libraries are missing.
> >
> > Would checking if(KDE4WORKSPACE_PROCESSUIL
> >
> > Right now this is in KDE4WorkspaceConfig.cmake:
> > _kde4workspace_set_lib_vars( PROCESSUI          processui)
> >
> > Would
> > if(TARGET processui)
> >    _kde4workspace_set_lib_vars( PROCESSUI          processui)
> > endif(TARGET processui)
> >
> >
> > be better ?
> > Then you could check
> > if (KDE4WORKSPACE_PROCESSUIL_LIBRARY)
> >  ...
> > endif(KDE4WORKSPACE_PROCESSUIL_LIBRARY)
>
> I'm not following, the thing that came up on IRC today was somebody who
> had kdebase/workspace built+installed, but not libs/ksysguard (i.e.
> processui/processcore where missing). 

Did he build that himself ?
After a quick look I didn't see a way how to disable ksysguard from building 
and installing.

When kdebase/workspace is installed, it installs a Config.cmake file, which 
contains information about the installed package.
This file assumes that processcore is always there, so it adds this imported 
target.
I'd say either kdebase/workspace has to be installed completely, or we have to 
support installing it in parts.
Or we don't use the Config.cmake files anymore, and again use logic to see 
what is actually existing on the system.
The idea with the Config.cmake files is that the installing package knows 
exactly what will be there once it has been installed and puts that 
information into this file.
Now if packagers afterwards split this into smaller parts, the the 
Config.cmake file becomes wrong.

Alex


More information about the Kde-buildsystem mailing list