Please test: modified FindNepomuk.cmake and NepomukAddOnto...cmake

Will Stephenson wstephenson at kde.org
Mon Dec 7 14:05:37 CET 2009


On Friday 04 December 2009 19:35:24 Alexander Neundorf wrote:
> On Friday 04 December 2009, Will Stephenson wrote:
> > On Thursday 03 December 2009 23:01:32 Alexander Neundorf wrote:
> > > I had a closer look at the two mentioned files.
> > > Some things where not as they should be.
> > >
> > > The tool rcgen was searched in the macro, that's not good. This should
> > > be done in the FindNepomuk.file, so I moved it there.
> > >
> > > Also, the macro modified the include path by calling
> > > include_directories(). This also shouldn't be done, so I removed that.
> > > As when using moc and similar things, the calling CMakeLists.txt has to
> > >  make sure that CMAKE_CURRENT_BINARY_DIR is in the include dirs.
> > >
> > > Please give it a try and adapt the users of this macro accordingly.
> > > (they also don't have to include(NepomukAddOnot...) anymore, since this
> > > is now done automatically by FindNepomuk.cmake.
> > >
> > > Please let mw know if it works.
> >
> > I'm using cmake 2.8.0
> >
> > using my usual cmake -DCMAKE_INSTALL_PREFIX=...
> > -DCMAKE_BUILD_TYPE=debugfull - DKDE4_BUILD_TESTS=true
> >
> > cmake fails finding STRIGI_STREAMS_LIBRARY and
> > STRIGI_STREAMANALYZER_LIBRARY
> >
> > if I add -DCMAKE_PREFIX_PATH=/usr the cmake run completes (I am using
> > packaged strigi libs in /usr/lib),
> 
> So this is about strigi ?
> I have strigi e.g. in ~/Dashboards/installs/2.6.2/kdesupport/.
> This is how it works for me:

Hi Alex

It was about 2 things - strigi suddenly failing to be detected, and an 
explicit include(SopranoAddOntology) being needed in kdelibs/nepomuk when 
FindSoprano already included it.

The first problem has now resolved itself since Friday with clean build + 
install trees, and as so often happens, I didn't keep the old ones around as 
evidence.  Your test project detected my strigi 0.7.0 in /usr/lib as well.

What is your take on the FindSoprano.cmake not finding 
SopranoAddOntology.cmake  despite earlier include() in my original reply?

I did some more poking and FindSoprano is not looking in the right places for 
a system-installed copy of Soprano 2.3.70's SopranoAddOntology.cmake.

Our package Soprano is built (by cmake 2.6.4) with:

cmake -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr \
 -DLIBEXEC_INSTALL_DIR:PATH=/usr/lib/kde4/libexec -DLIB_SUFFIX= \
 -DCMAKE_BUILD_TYPE=release .. -DCMAKE_SKIP_RPATH=OFF [1]

and this gives:

/usr/share/cmake/Modules/SopranoAddOntology.cmake

This apparently contradicts what soprano/cmake/modules/CMakeLists.txt intends:
"
install(FILES
  SopranoAddOntology.cmake
  DESTINATION
  share/soprano/cmake
)
"

And FindSoprano.cmake will only look in

/usr/share/soprano/cmake (> 2.3.0 location) or
/usr/share/apps/cmake/modules (old location).

Which is correct, where Soprano's build system puts the file or where 
FindSoprano.cmake is looking for it?  And why is the file not put where its 
CMakeLists.txt says it should go?  If we can resolve this, Dirk's commit 
becomes redundant.

Will


More information about the Kde-buildsystem mailing list