What to do with the kdebase/workspace dependency?
Alexander Neundorf
neundorf at kde.org
Wed May 12 19:22:57 UTC 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 KDevelop-devel
mailing list