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@)
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
