changes to how kdepimlibs and kdebase/workspace are installed and found
Alexander Neundorf
neundorf at kde.org
Tue Dec 9 22:41:03 CET 2008
On Tuesday 09 December 2008, Brad King wrote:
> Alexander Neundorf wrote:
> > On Tuesday 09 December 2008, Modestas Vainius wrote:
> >> Hello,
> >>
> >> antradienis 09 Gruodis 2008, Brad King rašė:
> >>> I've fixed this in CMake HEAD:
> >>>
> >>> /cvsroot/CMake/CMake/Source/cmFindPackageCommand.cxx,v <--
> >>> Source/cmFindPackageCommand.cxx
> >>> new revision: 1.52; previous revision: 1.51
> >>
> >> Thank you for such quick response and fix. Now I wish Alex could add
> >> support for this path to KDE. /usr/lib/Kdepimlibs and
> >> /usr/lib/KDE4Workspace currently contains only cmake stuff which are
> >> "found" via
> >> cmake/modules/Find{Kdepimlibs,KDE4Workspace}.cmake anyway. So it is easy
> >> to workaround lack of native cmake support for this path in 2.6.2.
> >
> > So we'll have to do something like:
> >
> > if (${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}.${CMAKE_VERSION_PATCH}
> > VERSION_GREATER 2.6.2)
> > set(configInstallDir ${LIB_INSTALL_DIR}/cmake/kfoo)
> > else ()
> > set(configInstallDir ${LIB_INSTALL_DIR}/kfoo/cmake)
> > endif ()
>
> Unfortunately the version of CMake that is doing the *finding* needs to
> be higher than 2.6.2 in order for the cmake/kfoo path to work. The
I think that's ok.
If somebody installs it using 2.6.3 it should be ok to require that he's also
using >= 2.6.3 for using it.
...
> > Should we include the version number ?
> > set(configInstallDir ${LIB_INSTALL_DIR}/kfoo-x.y.z/cmake)
>
> or perhaps
>
> set(configInstallDir ${LIB_INSTALL_DIR}/cmake/kfoo-x.y.z)
Yes.
> ? Anyway, yes, I think the version number should be on the directory.
> This will help support multiple KDE versions in the same prefix. Even
> if that is not a design goal, having the version number in the path does
> not affect CMake's ability to find the package. It may also give more
> information when helping users remotely.
Ok.
> > Brad: is this version number considered when specifying a minimum version
> > for the package or is it ignored and only a fooVersion.cmake file will be
> > used ?
>
> The latter. The directory name is purposely and completely ignored (for
> various reasons I'll omit here). The FooConfigVersion.cmake files are
> the only way to enforce version constraints.
>
> I think you should put the version files in now. If an installation
> doesn't have one, then versioned requests will not find anything because
> there is no version file to say it supports a particular version. Once
> you have installations distributed like this it will be hard to add
> versioning later.
So this will be my work in the next days :-)
Thanks
Alex
More information about the Kde-buildsystem
mailing list