[Kde-games-devel] Re: Build patch

Parker Coates parker.coates at kdemail.net
Thu May 19 16:18:47 CEST 2011


On Wed, May 18, 2011 at 23:32, Ian Wadham wrote:
> On Thursday 19 May 2011 12:17:07 am Parker Coates wrote:
>>On Tue, May 17, 2011 at 22:59, Ian Wadham wrote:
>>> KDE Games guys, especially Mathias: I had to put the dependency in the
>>> top-level kdegames/CMakeLists.txt.  I hope you do not mind.  I was hoping
>>> to avoid that.
>>
>> That was exactly what I was hoping you would do.
>>
> Raphael Kubo da Costa, at kde-buildsystem has suggested another way
> to go.  I am currently trying this idea out, but will not commit any further
> CMakeLists.txt changes until after the Beta release.
> http://mail.kde.org/pipermail/kde-buildsystem/2011-May/007706.html

I guess I personally prefer the existing system where CMake tries to
build as much as it can and explicitly tells the user what programs
won't be built and why.

>>> Warning: If OpenAL is not installed, Granatier will not be built and
>>> KGoldrunner will be built but with its sound feature completely disabled.
>>> This is not a very happy state of affairs, but I could not see what else
>>> to do.
>>
>> That seems perfect to me. Why do you consider it "not a very happy
>> state of affairs"? I guess in theory it'd be nice if Granatier
>> supported building without sound, but OpenAL isn't really an exotic
>> dependency, so I don't see this being a big issue for packagers.
>>
> It is fine for someone who wishes to build the latest KDE Games and
> is not concerned about sound, Granatier or KGoldrunner, or does not
> wish to locate and install OpenAL and SndFile.
>
> It is not so good if the latest versions of Granatier and KGoldrunner
> fail to be built downstream somewhere and do not get released and
> distributed.  In that situation, I do not wish to take chances on who has
> OpenAL and SndFile installed.

I think you need to give packagers some credit. ;) They regularly
handle dependency chains far more complex than this. And from what I
understand, they typically generate, say, the kgoldrunner package by
setting BUILD_othergame=false for every game and then set
BUILD_kgoldrunner=true. In that case, the build will fail if either
OpenAL or sndfile is missing, just like you want it to. Even if they
didn't use this technique, CMake does give a nice little "The
following components will NOT be built message:" list which one would
have to be a pretty terrible packager to ignore. :)

Either way, I guess it doesn't really matter. The move to Git may mean
splitting the repositories, in which case the whole concept of a
module level CMakeLists.txt disappears.

Parker


More information about the kde-games-devel mailing list