On Tuesday 22 of December 2009 21:32:29 Alexander Neundorf wrote:

> > Now, in kdelibs there's a little inconsistency with Nepomuk related
> > CMake options logic:
> > - Soprano is always required
> > - SDO is optional
> > - Nepomuk libs are built when both Soprano (with all needed backends
> > and parsers) and SDO are found

> > Proposals (patch):
> > - find_library(Soprano) -> macro_optional_find_library(Soprano) keeping 
Soprano backend checks (so only Soprano with all needed backends is accepted)
> > - other minor changes in FindNepomuk.cmake:
> > * set "url" in macro_log_feature of Soprano to 
http://soprano.sourceforge.net/
> > * accidental trailing spaces removals

> > Other proposal - to make SDO mandatory

> Actually I'd almost suggest make all that manadatory (soprano, SDO 0.2,
> nepomuk), and if people scream, at least we maybe finally get to some real
> solution. Right now it is just broken if nepomuk is optional but a hard
> requirement in kdepim.

Actually one of those people screaming would be me :)
From my perspective it's much more convenient to have Nepomuk libs (and thus 
soprano and SDO dependencies) optional for 4.4 as well.
Besides the only tool in kdepim that needs Nepomuk libs to build is mentioned 
akonadiconsole which is more or less developer tool and not user application 
and at least in current state - akonadi can live without Nepomuk QueryServer.
Also, one would argue but kdepim used to be quite standalone product (not part 
of KDE4 Workspace, actively maintained also for KDE 3.5), so imho there's no 
need to force some dependency for kdelibs only because it's mandatory in 
kdepim.
While keeping if (NEPOMUK_FOUND) and alike CMake code is considerable 
maintenance cost - this cost has already been born so there's nothing else to 
do for 4.4 (and dropping this code to simplify CMake files relying on the fact 
that Nepomuk libs being mandatory would cause another maintenance cost).
So I'm for 

> Or just ask for a comment on [email protected] ?
> Problem is, the last times I asked we didn't come to a real conclusion,
> there were not too many people who answered...

In such case I guess it should be "who does the job - decides".

(updated and reattached patch again as crossposting)

-- 
regards
MM
Index: cmake/modules/FindNepomuk.cmake
===================================================================
--- cmake/modules/FindNepomuk.cmake	(revision 1066431)
+++ cmake/modules/FindNepomuk.cmake	(working copy)
@@ -19,7 +19,7 @@
 if (NOT DEFINED Soprano_FOUND)
   find_package(Soprano)
   include(MacroLogFeature)
-  macro_log_feature(Soprano_FOUND "Soprano" "Semantic Desktop Storing" "" FALSE "" "Soprano is needed for Nepomuk")
+  macro_log_feature(Soprano_FOUND "Soprano" "Semantic Desktop Storing" "http://soprano.sourceforge.net/"; FALSE "" "Soprano is needed for Nepomuk")
 endif (NOT DEFINED Soprano_FOUND)
 
 if (NOT DEFINED SHAREDDESKTOPONTOLOGIES_FOUND)
@@ -64,9 +64,9 @@
 mark_as_advanced(NEPOMUK_INCLUDE_DIR NEPOMUK_LIBRARIES NEPOMUK_QUERY_LIBRARIES NEPOMUK_ADDONTOLOGIES_FILE)
 
 include(FindPackageHandleStandardArgs)
-# List all nepomuk and also all necessary soprano variables here, to make it 
+# List all nepomuk and also all necessary soprano variables here, to make it
 # easier for the user to see what was missing:
-find_package_handle_standard_args(Nepomuk  DEFAULT_MSG 
+find_package_handle_standard_args(Nepomuk  DEFAULT_MSG
                                   NEPOMUK_LIBRARIES NEPOMUK_INCLUDE_DIR NEPOMUK_ADDONTOLOGYCLASSES_FILE
                                   Soprano_FOUND SOPRANO_PLUGIN_RAPTORPARSER_FOUND SOPRANO_PLUGIN_REDLANDBACKEND_FOUND
                                   SHAREDDESKTOPONTOLOGIES_FOUND
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1066431)
+++ CMakeLists.txt	(working copy)
@@ -94,7 +94,7 @@
 macro_log_feature(OPENGL_FOUND "OpenGL" "API for developing portable, interactive 2D and 3D graphics applications" "http://mesa3d.sourceforge.net"; FALSE "" "STRONGLY RECOMMENDED: The 3D hardware acceleration available through the OpenGL API is used in applications ranging from graphics and modellers to screensavers and video players.")
 
 set(SOPRANO_MIN_VERSION "2.3.70")
-find_package(Soprano  REQUIRED COMPONENTS  PLUGIN_RAPTORPARSER PLUGIN_REDLANDBACKEND)
+macro_optional_find_package(Soprano COMPONENTS PLUGIN_RAPTORPARSER PLUGIN_REDLANDBACKEND)
 macro_log_feature(SOPRANO_FOUND "Soprano" "Semantic Desktop Storing" "http://soprano.sourceforge.net"; FALSE "${SOPRANO_MIN_VERSION}" "Provide metadata support (for semantic desktop).")
 macro_log_feature(SOPRANO_PLUGIN_RAPTORPARSER_FOUND "Soprano Raptor Parser" "RDF parser plugin for Soprano" "http://soprano.sourceforge.net"; FALSE "" "The Soprano raptor parser plugin is required to build the Nepomuk semantic desktop system.")
 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.")
@@ -190,7 +190,7 @@
                       ${CMAKE_SOURCE_DIR}/kio/kfile
                       ${KDE4_KDEUI_INCLUDES})
 
-# kpty 
+# kpty
 set(KDE4_KPTY_INCLUDES ${CMAKE_SOURCE_DIR}/kpty ${KDE4_KIO_INCLUDES} )
 
 # kparts depends on kio
@@ -298,14 +298,14 @@
 # configuration specific export files KDELibs4(Library|Tools)Targets-<config>.cmake
 # if the main exports file KDELibs4(Library|Tools)Targets.cmake has changed. This makes sure
 # that this main file doesn't include older and different configuration specific exports files,
-# which might have a different set of targets or targets with different names. 
+# which might have a different set of targets or targets with different names.
 # The code for installing the exports files will soon go into a macro. Alex
 install(CODE "set(EXPORT_FILES KDELibs4LibraryTargets.cmake KDELibs4ToolsTargets.cmake)"
         CODE "set(EXPORT_INSTALL_DIR \"${DATA_INSTALL_DIR}/cmake/modules\")"
         SCRIPT "${CMAKE_SOURCE_DIR}/cmake/modules/check_installed_exports_file.cmake" )
 install( EXPORT kdelibsLibraryTargets DESTINATION ${DATA_INSTALL_DIR}/cmake/modules NAMESPACE ${KDE4_TARGET_PREFIX} FILE KDELibs4LibraryTargets.cmake )
 install( EXPORT kdelibsToolsTargets   DESTINATION ${DATA_INSTALL_DIR}/cmake/modules NAMESPACE ${KDE4_TARGET_PREFIX} FILE KDELibs4ToolsTargets.cmake )
-# the following will be the correct locations once cmake has the improved FIND_PACKAGE() 
+# the following will be the correct locations once cmake has the improved FIND_PACKAGE()
 # install( FILES ${CMAKE_CURRENT_BINARY_DIR}/KDELibsDependencies.cmake DESTINATION ${PLUGIN_INSTALL_DIR}/cmake RENAME KDE4Config.cmake)
 
 macro_optional_add_subdirectory( experimental )
_______________________________________________
release-team mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/release-team

Reply via email to