telepathy-qt: cmake: rewrite FindDBus. cmake to do things in a more modern and consistent way

Dario Freddi drf at kemper.freedesktop.org
Mon Jul 2 08:52:27 PDT 2012


Module: telepathy-qt
Branch: master
Commit: 70f6c9f613145c37426087e2aa882ab888e72923
URL:    http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=70f6c9f613145c37426087e2aa882ab888e72923

Author: George Kiagiadakis <george.kiagiadakis at collabora.com>
Date:   Mon Jul  2 17:10:45 2012 +0300

cmake: rewrite FindDBus.cmake to do things in a more modern and consistent way

---

 cmake/modules/FindDBus.cmake |   73 ++++++++++++-----------------------------
 1 files changed, 22 insertions(+), 51 deletions(-)

diff --git a/cmake/modules/FindDBus.cmake b/cmake/modules/FindDBus.cmake
index a0b7c3a..afcebfc 100644
--- a/cmake/modules/FindDBus.cmake
+++ b/cmake/modules/FindDBus.cmake
@@ -2,10 +2,12 @@
 # Once done this will define
 #
 #  DBUS_FOUND - system has D-Bus
+#  DBUS_INCLUDE_DIRS - the D-Bus include directories
 #  DBUS_INCLUDE_DIR - the D-Bus include directory
 #  DBUS_ARCH_INCLUDE_DIR - the D-Bus architecture-specific include directory
 #  DBUS_LIBRARIES - the libraries needed to use D-Bus
 
+# Copyright (c) 2012, George Kiagiadakis <kiagiadakis.george at gmail.com>
 # Copyright (c) 2008, Kevin Kofler, <kevin.kofler at chello.at>
 # modeled after FindLibArt.cmake:
 # Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
@@ -13,60 +15,29 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
-if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+find_package(PkgConfig)
+if (PKG_CONFIG_FOUND)
+    pkg_check_modules(PC_DBUS dbus-1)
+endif (PKG_CONFIG_FOUND)
 
-  # in cache already
-  SET(DBUS_FOUND TRUE)
+find_path(DBUS_INCLUDE_DIR dbus/dbus.h
+    PATHS ${PC_DBUS_INCLUDE_DIRS}
+    PATH_SUFFIXES dbus-1.0
+)
 
-else (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+find_path(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h
+    PATHS ${PC_DBUS_INCLUDE_DIRS}
+    HINTS ${CMAKE_LIBRARY_PATH}/dbus-1.0/include
+          ${CMAKE_SYSTEM_LIBRARY_PATH}/dbus-1.0/include
+)
 
-  IF (NOT WIN32)
-    FIND_PACKAGE(PkgConfig)
-    IF (PKG_CONFIG_FOUND)
-      # use pkg-config to get the directories and then use these values
-      # in the FIND_PATH() and FIND_LIBRARY() calls
-      pkg_check_modules(_DBUS_PC dbus-1)
-    ENDIF (PKG_CONFIG_FOUND)
-  ENDIF (NOT WIN32)
+find_library(DBUS_LIBRARIES NAMES dbus-1
+    PATHS ${PC_DBUS_LIBRARY_DIRS}
+)
 
-  FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h
-    ${_DBUS_PC_INCLUDE_DIRS}
-    /usr/include
-    /usr/include/dbus-1.0
-    /usr/local/include
-  )
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(DBus DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARIES)
 
-  FIND_PATH(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h
-    ${_DBUS_PC_INCLUDE_DIRS}
-    /usr/lib${LIB_SUFFIX}/include
-    /usr/lib${LIB_SUFFIX}/dbus-1.0/include
-    /usr/lib64/include
-    /usr/lib64/dbus-1.0/include
-    /usr/lib/include
-    /usr/lib/dbus-1.0/include
-  )
+set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
 
-  FIND_LIBRARY(DBUS_LIBRARIES NAMES dbus-1 dbus
-    PATHS
-     ${_DBUS_PC_LIBDIR}
-  )
-
-
-  if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
-     set(DBUS_FOUND TRUE)
-  endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
-
-
-  if (DBUS_FOUND)
-     if (NOT DBus_FIND_QUIETLY)
-        message(STATUS "Found D-Bus: ${DBUS_LIBRARIES}")
-     endif (NOT DBus_FIND_QUIETLY)
-  else (DBUS_FOUND)
-     if (DBus_FIND_REQUIRED)
-        message(FATAL_ERROR "Could NOT find D-Bus")
-     endif (DBus_FIND_REQUIRED)
-  endif (DBUS_FOUND)
-
-  MARK_AS_ADVANCED(DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARIES)
-
-endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+mark_as_advanced(DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARIES)



More information about the telepathy-commits mailing list