Superbuild in kdelibs
Aurélien Gâteau
agateau at kde.org
Thu Nov 28 07:21:13 UTC 2013
Le jeudi 28 novembre 2013 19:58:38 Ben Cooksley a écrit :
> On Thu, Nov 28, 2013 at 9:10 AM, Aurélien Gâteau <agateau at kde.org> wrote:
> > Le jeudi 28 novembre 2013 07:41:19 Ben Cooksley a écrit :
> > > On Nov 28, 2013 7:26 AM, "Aurélien Gâteau" <agateau at kde.org> wrote:
> > > > Le mercredi 27 novembre 2013 10:16:57 Ben Cooksley a écrit :
> > > > > Hi,
> > > > >
> > > > > > I just disabled it, so that you can give it a try. Can you modify
> > >
> > > kdelibs
> > >
> > > > > > job
> > > > > > definition so that cmake is called with -DSUPERBUILD=ON and "make
> > >
> > > sb_all"
> > >
> > > > > > is
> > > > > > called first, then "make"?
> > > > >
> > > > > That has now been done in 6a67a97e79f1c0251bf0038e8ecd46dbe59cae72
> > > > > to
> > > > > sysadmin/build-kde-org.
> > > > > Unfortunately the build failed.
> > > >
> > > > So I spent my day on that failure and build.kde.org is still red. The
> > >
> > > failure
> > >
> > > > is caused by meinproc5 not finding the kdex.dtd file. It should be
> >
> > fixed
> >
> > > by
> > >
> > > > defining the XDG_DATA_DIRS variable to "$CMAKE_INSTALL_PREFIX/share/"
> >
> > or
> >
> > > > whatever dir where meinproc can find
> > >
> > > "ksgmltools2/customization/dtd/kdex.dtd",
> > >
> > > > installed by kdoctools (Ben, can you look into this?)
> > >
> > > That is not possible I'm afraid - we have to keep the install prefix out
> >
> > of
> >
> > > cmake_prefix_paths and other env variables otherwise fresh builds would
> >
> > be
> >
> > > contaminated by prior runs.
> >
> > Any framework which depends on kdoctools needs the binaries and files
> > installed by kdoctools, so we need a way to do this. It used to be OK not
> > do
> > so this because kdoctools was used in "bootstrap" mode: it used files from
> > kdelibs, but that is not applicable when building in standalone mode.
> >
> > The situation is similar to, say, kde-baseapps or kdepim needing
> > kdoctools:
> > how is Jenkins set up so that they can make use of kdoctools?
>
> This is done through generate_environment() of tools/kdecilib.py.
> Every project has a set of dependencies, which the scripts will examine and
> set environment variables for appropriately to ensure they are available.
> This covers path, cmake_prefix_path, xdg_data_dirs, etc.
>
> The problem in this case is because kdelibs cannot depend on itself -
> Superbuild needs to handle that. Once the frameworks have split they will
> be able to declare their dependencies against each other through the usual
> mechanism (so it will "just work"). This is how it works for everything
> else at the moment.
OK, I am going to look into modifying kdoctools "bootstrap" mode to work with
superbuild.
Aurélien
More information about the Kde-frameworks-devel
mailing list