Soprano cmake issue

Josef Spillner spillner at kde.org
Sat Oct 18 17:26:02 BST 2008


Hello,

I'm wondering about an issue I've had today with the cmake module of 
libsoprano. The standard macro find_path() is used to search for it. However, 
find_path() looks into system directories by default, and only considers the 
arguments to PATH after that [0]. Which means that an older soprano version 
in /usr is preferred to the one from kdesupport which I've installed into my 
KDE4 prefix.
The attached patch works for me, though I'm sure it shouldn't be necessary to 
add NO_CMAKE_SYSTEM_PATH by hand.

In addition, it looked like version 2.0.99 wasn't sufficient anymore due to:
  kdebase-runtime-trunk/nepomuk/services/storage/repository.cpp:289:
  error: ‘class Soprano::Index::CLuceneIndex’ has no member named ‘optimize’
But this was due to my new soprano being compiled without an indexer, and the 
system-wide installation with the clucene indexer so in that part of the code 
it still picked up /usr/include/Soprano/Index/... whereas it used 
$kde4/include/Soprano for the rest, including the version check.
Independently of the find_path() issue I'd recommend to tie the indexer 
closer to soprano, e.g. by giving it its own version number or have the 
HAVE_SOPRANO_INDEX definition move to the installed soprano headers. 
Otherwise, such issues are bound to happen again.

Josef

[0] http://www.cmake.org/cmake/help/cmake2.6docs.html#command:find_path
-------------- next part --------------
A non-text attachment was scrubbed...
Name: soprano-cmake-nosystem.diff
Type: text/x-diff
Size: 501 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20081018/a957d327/attachment.diff>


More information about the kde-core-devel mailing list