KDE/kdelibs
Sebastian Trueg
trueg at kde.org
Thu Nov 26 23:33:26 CET 2009
Here comes the updated patch. :)
Andreas Pakulat wrote:
> On 26.11.09 21:30:38, Sebastian Trueg wrote:
>> Alexander Neundorf wrote:
>>> Then, please post it to kde-buildsystem (k-c-d) is also ok, and wait for an
>>> explicit ok:
>>> http://techbase.kde.org/Policies/CMake_Commit_Policy
>> here we go: the attached patch should integrate all your suggestions.
>> Please have a look.
>
> Comments on that below inline.
>
>>> P.S. and please also explain what's up with FindKonto.cmake and
>>> FindKNepomuk.cmake.
>> They are both from pre-KDE 4.0 times. I have no idea why we still have
>> them in there. I suspect that I simply forgot to remove them. After all
>> what is Nepomuk today (and was so in 4.0) had at least two different
>> names during development.
>>
>> So I doubt anyone ever used the cmake macros. If so they never found
>> anything. So I think they can safely be removed. But at least they can
>> be cleaned out.
>
> Well, for correctness sake they should then consist of a message(FATAL
> "This module shouldn't be used, its only kept for backwards
> compatibility, but won't work anymore") or similar (I think we have an
> example in kdelibs/cmake/modules already for that. But this can wait
> until after the beta release, so Alex can comment on it.
>
>> Index: CMakeLists.txt
>> ===================================================================
>> --- CMakeLists.txt (revision 1054513)
>> +++ CMakeLists.txt (working copy)
>> @@ -96,7 +96,7 @@
>> macro_log_feature(SOPRANO_PLUGIN_REDLANDBACKEND_FOUND "Soprano Redland Backend" "Redland storage backend for Soprano" "http://soprano.sourceforge.net" FALSE "" "The Soprano redland backend is required to build the Nepomuk semantic desktop system.")
>>
>> macro_optional_find_package(SharedDesktopOntologies)
>> -macro_log_feature(DESKTOP_ONTOLOGIES_FOUND "Shared desktop ontologies" "Desktop ontologies" "http://oscaf.sourceforge.net" FALSE "" "Ontologies necessary for the Nepomuk semantic desktop.")
>> +macro_log_feature(SHAREDDESKTOPONTOLOGIES_FOUND "Shared desktop ontologies" "Desktop ontologies" "http://oscaf.sourceforge.net" FALSE "" "Ontologies necessary for the Nepomuk semantic desktop.")
>>
>> macro_optional_find_package(QCA2)
>> macro_log_feature(QCA2_FOUND "QCA2" "Qt Cryptographic Architecture" "http://delta.affinix.com/qca" FALSE "2.0.0" "Needed for the plasma remote widgets functionality.")
>> @@ -227,10 +227,10 @@
>>
>> # Actually nepomuk is not optional, without it other KDE modules don't build,
>> # so this must be fixed. Alex
>> -if(DESKTOP_ONTOLOGIES_FOUND)
>> +if(Soprano_FOUND AND SHAREDDESKTOPONTOLOGIES_FOUND)
>> set(HAVE_NEPOMUK true)
>> add_subdirectory(nepomuk)
>> -endif(DESKTOP_ONTOLOGIES_FOUND)
>> +endif(Soprano_FOUND AND SHAREDDESKTOPONTOLOGIES_FOUND)
>
> Mostly unrelated, so shouldn't be changed with this: if I understood the
> discussions correctly, nepomuk is a defacto-dependency because other
> modules (kdebase, kdepim) have it as a hard dependency. I'm all for
> making things optional that not everybody needs, but if other modules
> fail to build then and people need to rebuild kdelibs we should just
> make it a hard dependency. Probably has to wait for KDE 4.5, but should
> be kept in mind.
>
>> +find_path (SHAREDDESKTOPONTOLOGIES_ROOT_DIR
>> + nie/nie.trig
>> + PATHS
>> + /usr/share
>> + /usr/local/share
>> + ${SHARE_INSTALL_PREFIX}
>> + ENV XDG_DATA_DIRS
>> + PATH_SUFFIXES ontology
>> +)
>> +if (SHAREDDESKTOPONTOLOGIES_ROOT_DIR)
>> + set (SHAREDDESKTOPONTOLOGIES_FOUND 1)
>> +endif (SHAREDDESKTOPONTOLOGIES_ROOT_DIR)
>> +
>> +mark_as_advanced(SHAREDDESKTOPONTOLOGIES_ROOT_DIR)
>> +
>> +include(FindPackageHandleStandardArgs)
>> +find_package_handle_standard_args(SharedDesktopOntologies DEFAULT_MSG SHAREDDESKTOPONTOLOGIES_ROOT_DIR)
>
> If you use find_package_handle_standard_args you don't need the extra
> set( XYZ_FOUND 1) above. So you can leave those 3 lines away.
>
>> Index: cmake/modules/FindNepomuk.cmake
>> ===================================================================
>> --- cmake/modules/FindNepomuk.cmake (revision 1054555)
>> +++ cmake/modules/FindNepomuk.cmake (working copy)
>> @@ -22,11 +22,11 @@
>> macro_log_feature(Soprano_FOUND "Soprano" "Semantic Desktop Storing" "" FALSE "" "Soprano is needed for Nepomuk")
>> endif (NOT DEFINED Soprano_FOUND)
>>
>> -if (NOT DEFINED DESKTOP_ONTOLOGIES_FOUND)
>> +if (NOT DEFINED SHAREDDESKTOPONTOLOGIES_FOUND)
>> find_package(SharedDesktopOntologies)
>> include(MacroLogFeature)
>> - macro_log_feature(DESKTOP_ONTOLOGIES_FOUND "Shared desktop ontologies" "Desktop ontologies" "http://oscaf.sourceforge.net" FALSE "" "Ontologies necessary for the Nepomuk semantic desktop.")
>> -endif (NOT DEFINED DESKTOP_ONTOLOGIES_FOUND)
>> + macro_log_feature(SHAREDDESKTOPONTOLOGIES_FOUND "Shared desktop ontologies" "Desktop ontologies" "http://oscaf.sourceforge.net" FALSE "" "Ontologies necessary for the Nepomuk semantic desktop.")
>> +endif (NOT DEFINED SHAREDDESKTOPONTOLOGIES_FOUND)
>
> If the sharedontologies are a requirement for nepomuk, then the
> macro_log_feature call should pass TRUE instead of FALSE for the
> "REQUIRED" argument. Else this will pass even if the ontologies aren't
> there.
>
>> # Check for the following stuff independent from whether soprano has been found
>> # or not. This will give a better error message at the end.
>> @@ -61,7 +61,7 @@
>> # easier for the user to see what was missing:
>> find_package_handle_standard_args(Nepomuk DEFAULT_MSG
>> NEPOMUK_LIBRARIES NEPOMUK_INCLUDE_DIR
>> - Soprano_FOUND SOPRANO_PLUGIN_RAPTORPARSER_FOUND SOPRANO_PLUGIN_REDLANDBACKEND_FOUND DESKTOP_ONTOLOGIES_FOUND
>> + Soprano_FOUND SOPRANO_PLUGIN_RAPTORPARSER_FOUND SOPRANO_PLUGIN_REDLANDBACKEND_FOUND SHAREDDESKTOPONTOLOGIES_FOUND
>> )
>
> This would of course fail if the ontologies aren't found, but it
> wouldn't be very precise in why it failed. So its better if the
> macro_log_feature already fails so people are more aware which exact
> requirement is missing.
>
> Everything else looks fine, I'll leave it up to the windows developers
> wether they'd like to see another default path being searched. I can't
> think of any and SHARED_INSTALL_DIR should already catch most cases.
>
> Andreas
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: kdelibs-shared-desktop-onto.diff
Url: http://mail.kde.org/pipermail/kde-buildsystem/attachments/20091126/7e31252a/attachment.bat
More information about the Kde-buildsystem
mailing list