OpenAL and SndFile as hard dependency for Granatier
iandw.au at gmail.com
Wed May 18 04:39:04 CEST 2011
On Tuesday 17 May 2011 12:26:16 am Benjamin Reed wrote:
> On 5/16/11 7:36 AM, Ian Wadham wrote:
> > Time is running on, so I have decided to go ahead with the hard
> > dependency of KGoldrunner on OpenAL and SndFile after all. I have
> > committed a change whereby KGoldrunner can not compile and build if
> > OpenAL and SndFile are missing, together with improved macro_log_feature
> > messages for packagers and distros. I expect, however, that OpenAL and
> > SndFile will be found to be widely available across platforms.
> > I guess a deciding factor for me was that games are good ambassadors for
> > KDE (even Gnome users play them) and I wanted KGoldrunner to be sounding
> > its best in this release.
> Just to confirm, "hard dependency" means that kgoldrunner just won't be
> built if they don't exist, right? Not that kdegames will fail to
> configure... =)
Urk! It appears that if you declare a REQUIRED package in a subdirectory it
gets propagated up to the top level and, if the package is missing, the whole
module fails at the CMake configuration stage, i.e. bye bye KDE Games.
If the package is declared as optional, then compilation can fail in the
subdirectory and the build of KDE Games comes to a grinding halt mid way.
This is due to the KDE Games "module" not really being an interdependent
module, but rather a loose confederation of apps sharing a common library
(libkdegames), so all must build. It has been that way since the old automake
days. We have been discussing whether to break it up into separate games
before the move to git, but have reached no conclusion yet.
Anyway, I have moved the dependency on OpenAL up into the main KDE
Games CMakeLists.txt and made it optional. I was hoping to avoid that.
I have also modified KGoldrunner's build so that it will build without OpenAL
and SndFile, but it will have lost its sound feature. If OpenAL is absent, I
have made it that Granatier's build will be omitted.
This is not a very desirable state of affairs for Granatier and KGoldrunner,
but it seems to be the only way to ensure that KDE Games as a whole will
build, even if the OpenAL and SndFile packages have not been installed.
I am hoping the packagers and distros will pick up on this situation and
ensure that they build in OpenAL and SndFile wherever possible.
Cheers, Ian W.
More information about the release-team