KDE 4.6 Beta1 tarballs (4.5.80) uploaded
Alexander Neundorf
neundorf at kde.org
Mon Nov 22 21:23:17 CET 2010
On Monday 22 November 2010, Kevin Kofler wrote:
> On Friday 19 November 2010, Dirk Mueller wrote:
> > Please let me know of urgent fixes/compile issues in those tar balls.
>
> Various pieces are missing for various reasons:
>
> * The Python script engine is not being built in kdebase-workspace. We need
> commit 1199366 merged into the tag. (Commit 1199438 is also needed, to fix
> a syntax error in the Python code, but that one has already been applied to
> the tag.)
>
> * The Marble wallpaper support in kdeplasma-addons doesn't get built
> because kdeedu doesn't install FindMarble.cmake. This is fixed by revision
> 1198993.
>
> * kdebindings doesn't build Okular bindings because FindOkular.cmake was
> removed by http://websvn.kde.org/?view=revision&revision=1179984
> I see how OkularConfig.cmake is the right this to use internally, but IMHO
> there should still be a FindOkular.cmake installed, shouldn't there?
No, there shouldn't.
The purpose of a FindFoo.cmake file is to help with determining whether Foo is
installed or not.
It doesn't make sense that package Foo installs FindFoo.cmake along with its
other files. Because then, if Foo is not installed, FindFoo.cmake, which
should tell you that it's not installed, is not installed, so you'll get a
cmake error that it couldn't find some file.
Also, if Foo would install FindFoo.cmake, the point of FindFoo.cmake would be
void, since finding FindFoo.cmake basically means that Foo has been found.
Nothing new is broken if package Foo installed FindFoo.cmake before and
doesn't install it anymore. It didn't handle the case that Foo was not
installed properly before, and it still doesn't handle it properly if
FindFoo.cmake is not installed anymore.
So, either a package which uses Foo has its own FindFoo.cmake (or cmake has a
FindFoo.cmake) or a FindFoo.cmake is installed with kdelibs (e.g.
FindKDE4.cmake comes with cmake, and is not installed with kdelibs).
What a package can do is to install a FooConfig.cmake into a cmake-specific
directory (see the find_package() documentation in the cmake man page), e.g.
PREFIX/lib/cmake/<package>/
This is done with OkularConfig.cmake:
http://websvn.kde.org/trunk/KDE/kdegraphics/okular/CMakeLists.txt?r1=1179984&r2=1179983&pathrev=1179984
When you now do a
find_package(Okular),
cmake searches in a set of directories for a FooConfig.cmake, and should find
and load it.
Does that make it more clear ?
Alex
More information about the release-team
mailing list