[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: RFC v2: adding a temporary, non-BC gauranteed, 'private' library
From: Alexander Neundorf <neundorf () kde ! org>
Date: 2009-05-10 12:56:32
Message-ID: 200905101456.32792.neundorf () kde ! org
[Download RAW message or body]
...not sure which message exactly to reply to from these big threads, so I
just take this one.
We have now a libknotificationitem-1.so, which is only a temporary thing, i.e.
it may/will go away again in the future.
We discussed on kde-buildsystem:
http://lists.kde.org/?l=kde-buildsystem&m=124187917419874&w=2
http://lists.kde.org/?t=111529985400006&r=1&w=2
There is now a FindLibKNotificationItem-1.cmake installed by
kdelibs/experimental/ (it is wrong that package A installs a FindA.cmake
file, since the point of this file is to find out whether A is installed and
where).
So, there are two options: install FindLibKNotificationItem-1.cmake by
kdelibs, or not install it at all and instead give the project which use this
experimental temporary library their own copy.
If we install it with kdelibs, we will have to make sure it stays reasonably
working for the rest of KDE4, which would mean at least that once this
library doesn't exist anymore, we should still give a proper error message
("this library doesn't exist anymore, use the new stuff instead, porting goes
like that."). These would have to come from the
FindLibKNotificationItem-1.cmake file, which means we would have to keep this
file around for the rest of KDE 4.
So the better solution is instead of installing a Find-module for a temporary
library, give the users of this library their own copy of this module. This
makes it also very clear that it is unstable etc.
Attached you can find the patch which does that for kdebase/.
If nobody objects, I'll commit this.
Aaron, can you please take care of the other locations, i.e.
kdenetwork/kget/
kdemultimedia/kmix/
kdepim/korganizer/
kdepim/akonadi/
kdeutils/kwallet/
kdeutils/kgpg/
Once done, kdelibs/experimental/ must not install
FindLibKNotificationItem-1.cmake anymore.
Alex
["libknotificationitem.cmake.diff" (text/x-diff)]
Index: runtime/cmake/modules/FindLibKNotificationItem-1.cmake
===================================================================
--- runtime/cmake/modules/FindLibKNotificationItem-1.cmake (revision 0)
+++ runtime/cmake/modules/FindLibKNotificationItem-1.cmake (revision 0)
@@ -0,0 +1,37 @@
+# - Find libknotification-1 library
+# Find the libknotification-1. This is an experimental library which is not
+# supposed to stay source- or binary compatible, it may even go away in the future \
again. +#
+# This module defines
+# LIBKNOTIFICATIONITEM-1_FOUND - whether the libkonitification-1 library was found
+# LIBKNOTIFICATIONITEM-1_LIBRARIES - the libknotification-1 library
+# LIBKNOTIFICATIONITEM-1_INCLUDE_DIR - the include path of the libknotification-1 \
library +
+
+
+find_library (LIBKNOTIFICATIONITEM-1_LIBRARY
+ NAMES
+ knotificationitem-1
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+)
+
+set(LIBKNOTIFICATIONITEM-1_LIBRARIES ${LIBKNOTIFICATIONITEM-1_LIBRARY})
+
+find_path (LIBKNOTIFICATIONITEM-1_INCLUDE_DIR
+ NAMES
+ knotificationitem.h
+ PATH_SUFFIXES
+ knotificationitem-1
+ HINTS
+ ${INCLUDE_INSTALL_DIR}
+ ${KDE4_INCLUDE_DIR}
+)
+
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibKNotificationItem-1 DEFAULT_MSG \
LIBKNOTIFICATIONITEM-1_LIBRARY LIBKNOTIFICATIONITEM-1_INCLUDE_DIR) +
+mark_as_advanced(LIBKNOTIFICATIONITEM-1_INCLUDE_DIR LIBKNOTIFICATIONITEM-1_LIBRARY)
Property changes on: runtime/cmake/modules/FindLibKNotificationItem-1.cmake
___________________________________________________________________
Name: svn:eol-style
+ native
Index: runtime/nepomuk/services/strigi/CMakeLists.txt
===================================================================
--- runtime/nepomuk/services/strigi/CMakeLists.txt (revision 965980)
+++ runtime/nepomuk/services/strigi/CMakeLists.txt (working copy)
@@ -8,6 +8,7 @@
${NEPOMUK_INCLUDE_DIR}
${STRIGI_INCLUDE_DIR}
${nepomukstrigiservice_BUILD_DIR}
+ ${LIBKNOTIFICATIONITEM-1_INCLUDE_DIR}
)
set(strigiservice_SRCS
@@ -30,7 +31,7 @@
kde4_add_plugin(nepomukstrigiservice ${strigiservice_SRCS})
target_link_libraries(nepomukstrigiservice
- knotificationitem-1
+ ${LIBKNOTIFICATIONITEM-1_LIBRARIES}
${STRIGI_STREAMANALYZER_LIBRARY}
${STRIGI_STREAMS_LIBRARY}
${KDE4_KDEUI_LIBS}
Index: workspace/cmake/modules/FindLibKNotificationItem-1.cmake
===================================================================
--- workspace/cmake/modules/FindLibKNotificationItem-1.cmake (revision 0)
+++ workspace/cmake/modules/FindLibKNotificationItem-1.cmake (revision 0)
@@ -0,0 +1,37 @@
+# - Find libknotification-1 library
+# Find the libknotification-1. This is an experimental library which is not
+# supposed to stay source- or binary compatible, it may even go away in the future \
again. +#
+# This module defines
+# LIBKNOTIFICATIONITEM-1_FOUND - whether the libkonitification-1 library was found
+# LIBKNOTIFICATIONITEM-1_LIBRARIES - the libknotification-1 library
+# LIBKNOTIFICATIONITEM-1_INCLUDE_DIR - the include path of the libknotification-1 \
library +
+
+
+find_library (LIBKNOTIFICATIONITEM-1_LIBRARY
+ NAMES
+ knotificationitem-1
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+)
+
+set(LIBKNOTIFICATIONITEM-1_LIBRARIES ${LIBKNOTIFICATIONITEM-1_LIBRARY})
+
+find_path (LIBKNOTIFICATIONITEM-1_INCLUDE_DIR
+ NAMES
+ knotificationitem.h
+ PATH_SUFFIXES
+ knotificationitem-1
+ HINTS
+ ${INCLUDE_INSTALL_DIR}
+ ${KDE4_INCLUDE_DIR}
+)
+
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibKNotificationItem-1 DEFAULT_MSG \
LIBKNOTIFICATIONITEM-1_LIBRARY LIBKNOTIFICATIONITEM-1_INCLUDE_DIR) +
+mark_as_advanced(LIBKNOTIFICATIONITEM-1_INCLUDE_DIR LIBKNOTIFICATIONITEM-1_LIBRARY)
Property changes on: workspace/cmake/modules/FindLibKNotificationItem-1.cmake
___________________________________________________________________
Name: svn:eol-style
+ native
Index: workspace/kcontrol/randr/CMakeLists.txt
===================================================================
--- workspace/kcontrol/randr/CMakeLists.txt (revision 966038)
+++ workspace/kcontrol/randr/CMakeLists.txt (working copy)
@@ -1,10 +1,11 @@
-include_directories( ${X11_Xrandr_INCLUDE_PATH} )
configure_file (config-randr.h.cmake
${CMAKE_CURRENT_BINARY_DIR}/config-randr.h )
find_package(LibKNotificationItem-1 REQUIRED)
+include_directories( ${X11_Xrandr_INCLUDE_PATH}
+ ${LIBKNOTIFICATIONITEM-1_INCLUDE_DIR} )
########### next target ###############
@@ -52,7 +53,7 @@
kde4_add_executable(krandrtray ${krandrtray_SRCS})
-target_link_libraries(krandrtray knotificationitem-1 ${KDE4_KUTILS_LIBS} \
${X11_Xrandr_LIB} ${X11_LIBRARIES}) +target_link_libraries(krandrtray \
${LIBKNOTIFICATIONITEM-1_LIBRARIES} ${KDE4_KUTILS_LIBS} ${X11_Xrandr_LIB} \
${X11_LIBRARIES})
install(TARGETS krandrtray ${INSTALL_TARGETS_DEFAULT_ARGS})
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic