Hi, 

On Monday 15 June 2009 20:08:14 Alexander Neundorf wrote:

> Some general notes:
> -modifying CMAKE_MODULE_PATH is only necessary for installed cmake modules
> -every installed cmake module (at least from kdelibs) has to be kept
> compatible at least until the end of KDE4,
> -so in general, we shouldn't install too many such modules
> -more specifically, if possible, modules beside kdelibs should not install
> such cmake modules, but kdepimlibs is also a "libs" module, so it is
> somewhat special
> -kdepimlibs installs only 5 cmake modules, do you really get some conflict
> there ?
>
> So what do we do ?
> Changing the order can be a source incompatible change, but it could also
> be interpreted as a bug fix. But if we append it instead of prepend it, we
> can never be sure that we actually get the cmake modules we want.
>
> Maybe CMAKE_MODULE_PATH shouldn't be modified at all and
> find_package(KdepimLibs) should just set a KDEPIMLIBS_MODULE_DIR variable,
> and the user has to use this to set CMAKE_MODULE_PATH ?
> This would lead to the rule that the only cmake module in KDE svn which
> modifies CMAKE_MODULE_PATH is FindKDE4Internal.cmake, i.e.
> find_package(KDE4).
> This would indead be a source incompatible change, and as such actually not
> possible at all.
> But at least right now there are not that many modules which do that, so
> maybe this could be the last chance before we go with a maybe bad policy
> into the longer KDE4 series...
>
> Comments ?
>
Was something decided about that ? 

For testing purpose, I changed the CMAKE_MODULE_PATH order a few weeks ago. No 
trunk user nor distro packager complained nor noticed.

It's time to take a decision before 4.3 gets released.

Revert to set(CMAKE_MODULE_PATH "${KDEPIMLIBS_DATA_DIR}/cmake/modules" 
"${CMAKE_MODULE_PATH}" ) ? 

create KDEPIMLIBS_MODULE_DIR ? (patch is attached)


Thanks.
Christophe
Index: kdelibs/cmake/modules/FindKdepimLibs.cmake                                                                            
===================================================================                                                          
--- kdelibs/cmake/modules/FindKdepimLibs.cmake  (revision 996773)                                                            
+++ kdelibs/cmake/modules/FindKdepimLibs.cmake  (working copy)                                                               
@@ -4,6 +4,7 @@                                                                                                              
 #  KDEPIMLIBS_FOUND - system has KDE PIM Libraries                                                                          
 #  KDEPIMLIBS_INCLUDE_DIR - the KDE PIM Libraries include directory                                                         
 #  KDEPIMLIBS_INCLUDE_DIRS - the KDE PIM Libraries include directory and CamelCase headers                                  
+#  KDEPIMLIBS_MODULE_DIR - The directory where the cmake modules installed by kdepimlibs can be found.                      
 #                                                                                                                           
 # It also sets variables for the following libraries:                                                                       
 #   KDEPIMLIBS_AKONADI_LIBS                                                                                                 
@@ -67,7 +68,6 @@                                                                                                            
 # See kdepimlibs/CMakeLists.txt and kdepimlibs/KdepimLibsConfig.cmake.in                                                    
 # for details. Alex

-
 set(_KdepimLibs_FIND_QUIETLY  ${KdepimLibs_FIND_QUIETLY})
 find_package(KdepimLibs ${KdepimLibs_FIND_VERSION} QUIET NO_MODULE PATHS ${KDE4_LIB_DIR}/KdepimLibs/cmake )
 set(KdepimLibs_FIND_QUIETLY ${_KdepimLibs_FIND_QUIETLY})
Index: kdepimlibs/KdepimLibsConfig.cmake.in
===================================================================
--- kdepimlibs/KdepimLibsConfig.cmake.in        (revision 997307)
+++ kdepimlibs/KdepimLibsConfig.cmake.in        (working copy)
@@ -42,7 +42,8 @@
 set(KDEPIMLIBS4_DBUS_INTERFACES_DIR "${KDEPIMLIBS_DBUS_INTERFACES_DIR}")
 set(KDEPIMLIBS4_DBUS_SERVICES_DIR   "${KDEPIMLIBS_DBUS_SERVICES_DIR}")

-set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${KDEPIMLIBS_DATA_DIR}/cmake/modules")
+# The directory where the cmake modules installed by kdepimlibs can be found.
+set(KDEPIMLIBS_MODULE_DIR)         "@KDEPIMLIBS_DATA_DIR@/cmake/modules")

 # the exports file exports
 set(KDEPIMLIBS_TARGET_PREFIX @KDEPIMLIBS_TARGET_PREFIX@)

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to