Building multiple source modules

Michael Pyne mpyne at kde.org
Thu Jan 20 06:04:11 CET 2011


On Wednesday, January 19, 2011 15:55:28 Alexander Neundorf wrote:
> On Wednesday 19 January 2011, Michael Jansen wrote:
> > On Wednesday 19 January 2011 18:57:32 Alexander Neundorf wrote:
> > > Hi Allan,
> > > 
> > > On Wednesday 19 January 2011, Allan Sandfeld Jensen wrote:
> > > > Hello
> > > > 
> > > > I have recently been worried about the increasing number of modules
> > > > KDE is being divided in. Having to checkout, configure and build a
> > > > huge amount of individual modules seems to greatly increase the time
> > > > it takes for developers to build new test versions of KDE. This is
> > > > especially true if you make changes to basic libraries and want a
> > > > full KDE installation rebased on the modified libraries.
> > > 
> > > Same here...
> > > Great that you started working on a solution ! :-)
> > 
> > What is the problem with tools like
> > 
> > http://kdesrc-build.kde.org
> > http://michael-jansen.biz/build-tool
> > 
> > They do even more work for you like automatically updating, configuring
> > and building.
> > 
> > I really would like to know what mpyne and i have to do to get you guys
> > switching to one of those tools and stop trying to solve those problems
> > yourself each time.
> 
> I'd really like to know what I have to do to get you guys try to use and if
> necessary extend the tool we are using, CMake, instead of trying to solve
> those problems yourself each time ;-)

Well build-tool is more recent, but kdesrc-build is a continuation of a script 
that has existed since it was called kdecvs-build (and back then it was 
kdecvs-build because there was already a kde-build!), so the feature set is 
more than simply building modules in a set order.

Among other things, kdesrc-build also logs output to timestamped directories 
(so you can grep for build errors at your leisure instead of panicking because 
you forgot to use screen or output to a file), it builds Qt from gitorious.org 
(and I suppose soon git.kde.org for kde-qt), etc.

Honestly, the big reason I use it is so I don't have to remember to set 
CMAKE_INSTALL_PREFIX and CMAKE_PREFIX_PATH! ;) However, it is nice being able 
to edit ~/.kdesrc-buildrc as modules move and instantly get gratification 
instead of waiting for changes to CMakeLists.txt.

And of course, the chicken-and-egg problem is how to obtain CMakeLists.txt 
from Subversion or git in the first place...

Either way, I won't evangelize build-tool or kdesrc-build except to say that 
there is certainly an explosion of git modules happening, and both scripts can 
help with that. I would welcome CMake magic as well, although I would ask to 
avoid making builds incompatible with the existing build scripts (and to be 
clear, I am not the only user of kdesrc-build ;)

If you're worried about what that means, don't be: kdesrc-build just runs 
cmake and make like you'd normally do. If you can keep that working for 
individual projects *and* their supersets that would be awesome. strigi does 
/not/ work like that unfortunately: It must be built from the strigi 
supermodule, which then uses CMake to download and build the rest. That's fine 
as a one-off, but I really think *requiring* supermodules in order to build 
submodules is a recipe for a great deal of annoyance if that problem spreads.

Regards,
 - Michael Pyne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20110120/fface9b7/attachment.sig 


More information about the Kde-buildsystem mailing list