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