aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindKdepimLibs.cmake124
1 files changed, 65 insertions, 59 deletions
diff --git a/modules/FindKdepimLibs.cmake b/modules/FindKdepimLibs.cmake
index 759ccfa0..8b449d93 100644
--- a/modules/FindKdepimLibs.cmake
+++ b/modules/FindKdepimLibs.cmake
@@ -3,7 +3,25 @@
#
# KDEPIMLIBS_FOUND - system has KDE PIM Libraries
# KDEPIMLIBS_INCLUDE_DIR - the KDE PIM Libraries include directory
-
+# It also sets:
+# KDEPIMLIBS_AKONADI_LIBS
+# KDEPIMLIBS_AKONADI_KMIME_LIBS
+# KDEPIMLIBS_AKONADI_KABC_LIBS
+# KDEPIMLIBS_GPGMEPP_LIBS
+# KDEPIMLIBS_KABC_LIBS
+# KDEPIMLIBS_KBLOG_LIBS
+# KDEPIMLIBS_KCAL_LIBS
+# KDEPIMLIBS_KIMAP_LIBS
+# KDEPIMLIBS_KLDAP_LIBS
+# KDEPIMLIBS_KMIME_LIBS
+# KDEPIMLIBS_KPIMIDENTITIES_LIBS
+# KDEPIMLIBS_KPIMUTILS_LIBS
+# KDEPIMLIBS_KRESOURCES_LIBS
+# KDEPIMLIBS_KTNEF_LIBS
+# KDEPIMLIBS_KXMLRPCCLIENT_LIBS
+# KDEPIMLIBS_MAILTRANSPORT_LIBS
+# KDEPIMLIBS_QGPGME_LIBS
+# KDEPIMLIBS_SYNDICATION_LIBS
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
# Copyright (c) 2006, Ralf Habacker, <ralf.habacker@freenet.de>
@@ -26,72 +44,61 @@ find_path( KDEPIMLIBS_INCLUDE_DIR kcal/kcal_export.h
${KDE4_INCLUDE_DIR}
)
-if( KDEPIMLIBS_INCLUDE_DIR )
- set(KDEPIMLIBS_FOUND TRUE)
-
- # this file contains all dependencies of all libraries of kdepimlibs, Alex
- include(KDEPimLibsDependencies)
-
- find_library(KDE4_AKONADI_LIBRARY NAMES akonadi-kde PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_AKONADI_LIBS ${akonadi_LIB_DEPENDS} ${KDE4_AKONADI_LIBRARY} )
-
- find_library(KDE4_AKONADI_KMIME_LIBRARY NAMES akonadi-kmime PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_AKONADI_KMIME_LIBS ${akonadi_kmime_LIB_DEPENDS} ${KDE4_AKONADI_KMIME_LIBRARY} )
-
- find_library(KDE4_AKONADI_KABC_LIBRARY NAMES akonadi-kabc PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_AKONADI_KABC_LIBS ${akonadi_kabc_LIB_DEPENDS} ${KDE4_AKONADI_KABC_LIBRARY} )
-
- find_library(KDE4_GPGMEPP_LIBRARY NAMES gpgme++ PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_GPGMEPP_LIBS ${gpgmepp_LIB_DEPENDS} ${KDE4_GPGMEPP_LIBRARY} )
-
- find_library(KDE4_KABC_LIBRARY NAMES kabc PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KABC_LIBS ${kabc_LIB_DEPENDS} ${KDE4_KABC_LIBRARY} )
-
- find_library(KDE4_KBLOG_LIBRARY NAMES kblog PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KBLOG_LIBS ${kblog_LIB_DEPENDS} ${KDE4_KBLOG_LIBRARY} )
-
- find_library(KDE4_KCAL_LIBRARY NAMES kcal PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KCAL_LIBS ${kcal_LIB_DEPENDS} ${KDE4_KCAL_LIBRARY} )
+macro(_KDEPIMLibs_Set_Lib_Vars _prefix _lib)
+ set(KDEPIMLIBS_${_prefix}_LIBRARY ${_lib})
+ set(KDEPIMLIBS_${_prefix}_LIBS ${_lib})
+ # these two are set for compatibility with KDE 4.[01], Alex:
+ set(KDE4_${_prefix}_LIBRARY ${_lib})
+ set(KDE4_${_prefix}_LIBS ${_lib})
+endmacro(_KDEPIMLibs_Set_Lib_Vars)
- find_library(KDE4_KIMAP_LIBRARY NAMES kimap PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KIMAP_LIBS ${kimap_LIB_DEPENDS} ${KDE4_KIMAP_LIBRARY} )
- find_library(KDE4_KLDAP_LIBRARY NAMES kldap PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KLDAP_LIBS ${kldap_LIB_DEPENDS} ${KDE4_KLDAP_LIBRARY} )
-
- find_library(KDE4_KMIME_LIBRARY NAMES kmime PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KMIME_LIBS ${kmime_LIB_DEPENDS} ${KDE4_KMIME_LIBRARY} )
-
- find_library(KDE4_KPIMIDENTITIES_LIBRARY NAMES kpimidentities PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KPIMIDENTITIES_LIBS ${kpimidentities_LIB_DEPENDS} ${KDE4_KPIMIDENTITIES_LIBRARY} )
-
- find_library(KDE4_KPIMUTILS_LIBRARY NAMES kpimutils PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KPIMUTILS_LIBS ${kpimutils_LIB_DEPENDS} ${KDE4_KPIMUTILS_LIBRARY} )
-
- find_library(KDE4_KRESOURCES_LIBRARY NAMES kresources PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KRESOURCES_LIBS ${kresources_LIB_DEPENDS} ${KDE4_KRESOURCES_LIBRARY} )
-
- find_library(KDE4_KTNEF_LIBRARY NAMES ktnef PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KTNEF_LIBS ${ktnef_LIB_DEPENDS} ${KDE4_KTNEF_LIBRARY} )
-
- find_library(KDE4_KXMLRPCCLIENT_LIBRARY NAMES kxmlrpcclient PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_KXMLRPCCLIENT_LIBS ${kxmlrpcclient_LIB_DEPENDS} ${KDE4_KXMLRPCCLIENT_LIBRARY} )
-
- find_library(KDE4_MAILTRANSPORT_LIBRARY NAMES mailtransport PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_MAILTRANSPORT_LIBS ${mailtransport_LIB_DEPENDS} ${KDE4_MAILTRANSPORT_LIBRARY} )
+if( KDEPIMLIBS_INCLUDE_DIR )
+ set(KDEPIMLIBS_FOUND TRUE)
- find_library(KDE4_QGPGME_LIBRARY NAMES qgpgme PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_QGPGME_LIBS ${qgpgme_LIB_DEPENDS} ${KDE4_QGPGME_LIBRARY} )
+ get_filename_component( kdepimlibs_cmake_module_dir "${KDEPIMLIBS_INCLUDE_DIR}" PATH)
+ set(kdepimlibs_cmake_module_dir "${kdepimlibs_cmake_module_dir}/share/apps/cmake/modules")
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${kdepimlibs_cmake_module_dir}")
- find_library(KDE4_SYNDICATION_LIBRARY NAMES syndication PATHS ${KDE4_LIB_DIR} NO_DEFAULT_PATH )
- set(KDE4_SYNDICATION_LIBS ${syndication_LIB_DEPENDS} ${KDE4_SYNDICATION_LIBRARY} )
+ # this file contains all dependencies of all libraries of kdepimlibs, Alex
+ include("${kdepimlibs_cmake_module_dir}/KDEPimLibsInformation.cmake" OPTIONAL RESULT_VARIABLE _newKdepimLibsFound)
+ # if this file could not be loaded, we found an older version of Kdepimlibs, tell the
+ # developer that he should update kdepimlibs. Alex
+ if (NOT _newKdepimLibsFound)
+ message(FATAL_ERROR "You need a newer version of kdepimlibs, please update it")
+ endif (NOT _newKdepimLibsFound)
+
+ include("${kdepimlibs_cmake_module_dir}/KDEPimLibsLibraryTargets.cmake")
+
+ _kdepimlibs_set_lib_vars( AKONADI akonadi-kde)
+ _kdepimlibs_set_lib_vars( AKONADI_KMIME akonadi-kmime)
+ _kdepimlibs_set_lib_vars( AKONADI_KABC akonadi-kabc)
+ _kdepimlibs_set_lib_vars( GPGMEPP gpgmepp)
+ _kdepimlibs_set_lib_vars( KABC kabc)
+ _kdepimlibs_set_lib_vars( KBLOG kblog)
+ _kdepimlibs_set_lib_vars( KCAL kcal)
+ _kdepimlibs_set_lib_vars( KIMAP kimap)
+ _kdepimlibs_set_lib_vars( KLDAP kldap)
+ _kdepimlibs_set_lib_vars( KMIME kmime)
+ _kdepimlibs_set_lib_vars( KPIMIDENTITIES kpimidentities)
+ _kdepimlibs_set_lib_vars( KPIMUTILS kpimutils)
+ _kdepimlibs_set_lib_vars( KRESOURCES kresources)
+ _kdepimlibs_set_lib_vars( KTNEF ktnef)
+ _kdepimlibs_set_lib_vars( KXMLRPCCLIENT kxmlrpcclient)
+ _kdepimlibs_set_lib_vars( MAILTRANSPORT mailtransport)
+ _kdepimlibs_set_lib_vars( QGPGME qgpgme)
+ _kdepimlibs_set_lib_vars( SYNDICATION syndication)
+
+ # this is bad, so I commented it out. A module shouldn't modify variables
+ # set by another module. Alex.
+ # # setup global used KDE include
+ # set (KDE4_INCLUDES ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
- # setup global used KDE include
- set (KDE4_INCLUDES ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR})
else( KDEPIMLIBS_INCLUDE_DIR )
set(KDEPIMLIBS_FOUND FALSE)
endif( KDEPIMLIBS_INCLUDE_DIR )
+
if (KDEPIMLIBS_FOUND)
if (NOT KdepimLibs_FIND_QUIETLY)
message(STATUS "Found KDE PIM libraries")
@@ -102,4 +109,3 @@ else (KDEPIMLIBS_FOUND)
endif (KdepimLibs_FIND_REQUIRED)
endif (KDEPIMLIBS_FOUND)
-