extra-cmake-modules installs into versionned dir

Alexander Neundorf neundorf at kde.org
Wed Feb 22 17:33:02 UTC 2012


On Tuesday 21 February 2012, Christophe Giboudeaux wrote:
> On Monday 20 February 2012 19:38:37 Sune Vuorela wrote:
> > On Saturday 18 February 2012 18:45:54 Alexander Neundorf wrote:
> > > On Saturday 18 February 2012, David Faure wrote:
> > > > Can we PLEASE get rid of the version number in the install directory?
> > > > It's way more trouble than any benefit it might bring.
> > > > 
> > > > If one day we want co-installable incompatible releases,
> > > 
> > > I want to have co-installable releases right from the beginning.
> > 
> > I don't. It makes no sense what so ever to have it, and it is only giving
> > headaches to the users of ecm.
> 
> Agreed. and I fully support removing this versioned prefix. I consider this
> a showstopper (ie: I would invite people to stay away from ecm to avoid
> headaches).
> 
> The past experiences with kdepimlibs and kdebase-workspace have been
> complete failures and both were fixed. (I fixed kdepimlibs in 2009 and
> Thiago fixed kdebase-workspace last year).
> 
> The reason is quite simple: we don't bump the version after each feature or

In e-c-m the version *must* be increased for every added feature (in a 
release).

> bug fix and if someone has a build error, the answer is "update thisModule"
> rather than "update thisModule to X.Y.Z version."
> 
> Additionally, this requires bumping the minimum version in the depending
> module. You're then facing two issues:
> - You're not supposed to try each version to find the right one,

?
When using a feature, you have to know in which version it is.
We'll need to provide a way to make this easy to find out.

> - You can't use find_package(FOO) without the version since cmake will not
> check whether his cache should be refreshed.

Yes, and in general you shouldn't, since every new version will have new 
stuff.
 
> Concurrent installation are still possible using different install prefix
> and just playing with CMAKE_PREFIX_PATH.

I may think about leaving the patch-level version number out, but beside that 
it will stay versioned.

So that the patch level version is kept for bugfixes, which should be 
compatible, and the minor version can contain new features.
Whatever feature you use, you have to make sure using the minimum required 
version that you get a proper version of e-c-m.

Everything you describe is no reason against versioned installs.

Remember, e-c-m is no typical KDE package, not at all.
It is intended to be used by any projects, KDE, Qt, gtk, EFL, XCode, whatever.

You are correct that to use it properly, you need to use the minimum required 
version.
There is absolutely no way around this, and this is completely independent 
from whether the install dir is versioned or not.

If you use some feature from a released e-c-m version, you have to check in 
which version this feature has been introduced.

Alex


More information about the Kde-buildsystem mailing list