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.
if (major not set)
set version 4.0.0
elseif (major not set)
if (major != 4)
error("FindKDE4 can only be used with KDE 4")
endif
if (minor is not set)
set minor 0
elseif (minor is not set)
if (patch is not set)
set patch 0
endif
endif (minor is not set)
set version 4.${minor}.${patch}
endif (major not set)
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
