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