Support CMake-Version-Variables

Andreas Pakulat apaku at gmx.de
Thu Aug 7 22:51:21 CEST 2008


On 07.08.08 22:11:11, Thiago Macieira wrote:
> Andreas Pakulat wrote:
> >On 07.08.08 21:32:32, Thiago Macieira wrote:
> >> Andreas Pakulat wrote:
> >> >On 07.08.08 19:59:52, Thiago Macieira wrote:
> >> >> Andreas Pakulat wrote:
> >> >> >Hi,
> >> >> >
> >> >> >since we require Cmake 2.6 now I think we should support CMake's
> >> >> >"integrated" way of version-checking. CMake 2.6 supports this:
> >> >> >
> >> >> >find_package(KDE4 4.2.0)
> >> >> >
> >> >> >and I'm proposing the attached patch to make this work. This
> >> >> > removes the need for setting an extra variable before calling
> >> >> > find_package, still KDE_MIN_VERSION is given authority over the
> >> >> > cmake-way for backwards compatibility reasons.
> >> >> >
> >> >> >Objections against comitting this?
> >> >>
> >> >> Are you sure? This reads Boost_*.
> >> >
> >> >Damn, sorry. Here's the right patch :)
> >> >
> >> >There's one drawback of this whole thing I just noticed: When
> >> > somebody puts:
> >> >
> >> >find_package(KDE4 4 REQUIRED)
> >> >
> >> >in his CMakeLists.txt that won't work unless he runs KDE5. I'm not
> >> > sure how to best fix this, one way would be to require at least
> >> > MAJOR+MINOR version and else use 3.9 as default. The other would be
> >> > to "0" as default value for minor.
> >>
> >> Then I don't approve of your patch :-)
> >>
> >> If the user didn't set anything, the minimum version is 4.0.0 (no one
> >> should be using pre-4.0 releases anymore).
> >
> >Ok, I was thinking the same.
> >
> >> If the major is set, it has to be 4. Otherwise, error out.
> >>
> >> If the minor isn't set, set min version to 4.0.0. If it is set, set
> >> minimum version to 4.x.0.
> >>
> >> We shouldn't need dependencies on patch-level releases.
> >
> >This has a problem, I can't depend on KDE 4.2.0 until its released and
> >hence modules in trunk/ cannot have a dependency on kdelibs from trunk/
> >
> >For example kdevplatform now has a hard dependency on kdelibs from
> >trunk/, so what I need is require KDE >= 4.1.60 (current version used in
> >trunk/) not 4.2.0 as that doesn't exist yet and 4.1.0 doesn't work
> >anymore.
> 
> Right, sorry. I hadn't thought of pre-releases.

Thanks for doing the logic-thinking for me :) Patch attached, it uses a
negation of your pseudo-code to avoid having to create new variables.

Andreas

-- 
Expect the worst, it's the least you can do.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cmake_version_support.diff
Type: text/x-diff
Size: 1440 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20080807/d82b310d/attachment-0001.bin 


More information about the Kde-buildsystem mailing list