Superbuild in kdelibs

Ben Cooksley bcooksley at kde.org
Wed Nov 27 18:41:19 UTC 2013


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.

>
> In the process of debugging that, I butchered the superbuild script and
fixed
> some dependency issues. sb_* targets now only depend on the target
declared
> before them, so if you have:
>
>         sb_add_project(foo)
>         sb_add_project(bar)
>         sb_add_project(baz)
>    sb_end() # Declares the sb_all target
>
> Then sb_all depends on sb_baz, which depends on sb_bar, which depends on
> sb_foo.
>
> This ensures frameworks are built in the correct order and helps keeping
the
> build output readable, since only one framework can be built at a time,
> regardless of the value of the "-j" argument (but said the build of the
> framework itself is still parallel). It also means it is no longer
necessary
> to declare framework dependencies there, which is good because people kept
> forgetting half of them.
>
> It also means building sb_baz will cause a build sb_foo of sb_bar first,
> regardless of whether they depend on each others. If you want to check if
a
> framework builds standalone without building all the frameworks listed
before
> it, go to $BUILDDIR/superbuild/$framework and run make from there.
>
> Aurélien

Thanks,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131128/1c9d3379/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list