Rex Dieter 91de7b1
From 56883bddb1d1cf784a0c4e81da6232cddee62562 Mon Sep 17 00:00:00 2001
Rex Dieter 91de7b1
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
Rex Dieter 91de7b1
Date: Fri, 30 Dec 2011 21:14:36 -0200
Rex Dieter 37c7537
Subject: [PATCH 1/4] Sync FindGObject.cmake with the one in kdelibs.
Rex Dieter 91de7b1
Rex Dieter 91de7b1
Import kdelibs' FindGObject.cmake at commit
Rex Dieter 91de7b1
e02cae5112ef7ec37d6af3553399a136726b5288.
Rex Dieter 91de7b1
Rex Dieter 91de7b1
Highlights:
Rex Dieter 91de7b1
 * Remove unnecessary WIN32 check.
Rex Dieter 91de7b1
 * Use the pkg-config paths as HINTS, not PATHS.
Rex Dieter 91de7b1
 * Use FindPackageHandleStandardArgs instead of duplicating its
Rex Dieter 91de7b1
   functionality.
Rex Dieter 91de7b1
Rex Dieter 91de7b1
As a consequence, GOBJECT_LIBRARIES uses full library paths on all
Rex Dieter 91de7b1
platforms, which should fix linking when gobject is in a non-standard
Rex Dieter 91de7b1
path.
Rex Dieter 91de7b1
Rex Dieter 91de7b1
Reviewed-by: Dario Freddi
Rex Dieter 91de7b1
---
Rex Dieter 91de7b1
 cmake/modules/FindGObject.cmake | 85 +++++++++++++++--------------------------
Rex Dieter 91de7b1
 1 file changed, 31 insertions(+), 54 deletions(-)
Rex Dieter 91de7b1
Rex Dieter 91de7b1
diff --git a/cmake/modules/FindGObject.cmake b/cmake/modules/FindGObject.cmake
Rex Dieter 91de7b1
index 79a2127..af0c9f7 100644
Rex Dieter 91de7b1
--- a/cmake/modules/FindGObject.cmake
Rex Dieter 91de7b1
+++ b/cmake/modules/FindGObject.cmake
Rex Dieter 91de7b1
@@ -6,70 +6,47 @@
Rex Dieter 91de7b1
 #  GOBJECT_LIBRARIES - the libraries needed to use GObject
Rex Dieter 91de7b1
 #  GOBJECT_DEFINITIONS - Compiler switches required for using GObject
Rex Dieter 91de7b1
 
Rex Dieter 91de7b1
-# Copyright (c) 2008 Helio Chissini de Castro, <helio@kde.org>
Rex Dieter 91de7b1
-#  (c)2006, Tim Beaulen <tbscope@gmail.com>
Rex Dieter 91de7b1
-
Rex Dieter 91de7b1
-
Rex Dieter 91de7b1
-IF (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
-   # in cache already
Rex Dieter 91de7b1
-   SET(GObject_FIND_QUIETLY TRUE)
Rex Dieter 91de7b1
-ELSE (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
-   SET(GObject_FIND_QUIETLY FALSE)
Rex Dieter 91de7b1
-ENDIF (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
-
Rex Dieter 91de7b1
-IF (NOT WIN32)
Rex Dieter 91de7b1
-   FIND_PACKAGE(PkgConfig)
Rex Dieter 91de7b1
-   # use pkg-config to get the directories and then use these values
Rex Dieter 91de7b1
-   # in the FIND_PATH() and FIND_LIBRARY() calls
Rex Dieter 91de7b1
-   PKG_CHECK_MODULES(PKG_GOBJECT2 gobject-2.0)
Rex Dieter 91de7b1
-   SET(GOBJECT_DEFINITIONS ${PKG_GOBJECT2_CFLAGS})
Rex Dieter 91de7b1
-ENDIF (NOT WIN32)
Rex Dieter 91de7b1
-
Rex Dieter 91de7b1
-FIND_PATH(GOBJECT_INCLUDE_DIR gobject/gobject.h
Rex Dieter 91de7b1
-   PATHS
Rex Dieter 91de7b1
-   ${PKG_GOBJECT2_INCLUDE_DIRS}
Rex Dieter 91de7b1
-   /usr/include/glib-2.0/
Rex Dieter 91de7b1
-   PATH_SUFFIXES glib-2.0
Rex Dieter 91de7b1
+# Copyright (c) 2011, Raphael Kubo da Costa <kubito@gmail.com>
Rex Dieter 91de7b1
+# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
Rex Dieter 91de7b1
+#
Rex Dieter 91de7b1
+# Redistribution and use is allowed according to the terms of the BSD license.
Rex Dieter 91de7b1
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
Rex Dieter 91de7b1
+
Rex Dieter 91de7b1
+FIND_PACKAGE(PkgConfig)
Rex Dieter 91de7b1
+PKG_CHECK_MODULES(PC_GOBJECT gobject-2.0)
Rex Dieter 91de7b1
+SET(GOBJECT_DEFINITIONS ${PC_GOBJECT_CFLAGS_OTHER})
Rex Dieter 91de7b1
+
Rex Dieter 91de7b1
+FIND_PATH(GOBJECT_INCLUDE_DIR gobject.h
Rex Dieter 91de7b1
+   HINTS
Rex Dieter 91de7b1
+   ${PC_GOBJECT_INCLUDEDIR}
Rex Dieter 91de7b1
+   ${PC_GOBJECT_INCLUDE_DIRS}
Rex Dieter 91de7b1
+   PATH_SUFFIXES glib-2.0/gobject/
Rex Dieter 91de7b1
    )
Rex Dieter 91de7b1
 
Rex Dieter 91de7b1
 FIND_LIBRARY(_GObjectLibs NAMES gobject-2.0
Rex Dieter 91de7b1
-   PATHS
Rex Dieter 91de7b1
-   ${PKG_GOBJECT2_LIBRARY_DIRS}
Rex Dieter 91de7b1
+   HINTS
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBDIR}
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBRARY_DIRS}
Rex Dieter 91de7b1
    )
Rex Dieter 91de7b1
 FIND_LIBRARY(_GModuleLibs NAMES gmodule-2.0
Rex Dieter 91de7b1
-   PATHS
Rex Dieter 91de7b1
-   ${PKG_GOBJECT2_LIBRARY_DIRS}
Rex Dieter 91de7b1
+   HINTS
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBDIR}
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBRARY_DIRS}
Rex Dieter 91de7b1
    )
Rex Dieter 91de7b1
 FIND_LIBRARY(_GThreadLibs NAMES gthread-2.0
Rex Dieter 91de7b1
-   PATHS
Rex Dieter 91de7b1
-   ${PKG_GOBJECT2_LIBRARY_DIRS}
Rex Dieter 91de7b1
+   HINTS
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBDIR}
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBRARY_DIRS}
Rex Dieter 91de7b1
    )
Rex Dieter 91de7b1
 FIND_LIBRARY(_GLibs NAMES glib-2.0
Rex Dieter 91de7b1
-   PATHS
Rex Dieter 91de7b1
-   ${PKG_GOBJECT2_LIBRARY_DIRS}
Rex Dieter 91de7b1
+   HINTS
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBDIR}
Rex Dieter 91de7b1
+   ${PC_GOBJECT_LIBRARY_DIRS}
Rex Dieter 91de7b1
    )
Rex Dieter 91de7b1
 
Rex Dieter 91de7b1
-IF (WIN32)
Rex Dieter 91de7b1
-SET (GOBJECT_LIBRARIES ${_GObjectLibs} ${_GModuleLibs} ${_GThreadLibs} ${_GLibs})
Rex Dieter 91de7b1
-ELSE (WIN32)
Rex Dieter 91de7b1
-SET (GOBJECT_LIBRARIES ${PKG_GOBJECT2_LIBRARIES})
Rex Dieter 91de7b1
-ENDIF (WIN32)
Rex Dieter 91de7b1
-
Rex Dieter 91de7b1
-IF (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
-   SET(GOBJECT_FOUND TRUE)
Rex Dieter 91de7b1
-ELSE (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
-   SET(GOBJECT_FOUND FALSE)
Rex Dieter 91de7b1
-ENDIF (GOBJECT_INCLUDE_DIR AND GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
+SET( GOBJECT_LIBRARIES ${_GObjectLibs} ${_GModuleLibs} ${_GThreadLibs} ${_GLibs} )
Rex Dieter 91de7b1
 
Rex Dieter 91de7b1
-IF (GOBJECT_FOUND)
Rex Dieter 91de7b1
-   IF (NOT GObject_FIND_QUIETLY)
Rex Dieter 91de7b1
-      MESSAGE(STATUS "Found GObject libraries: ${GOBJECT_LIBRARIES}")
Rex Dieter 91de7b1
-      MESSAGE(STATUS "Found GObject includes : ${GOBJECT_INCLUDE_DIR}")
Rex Dieter 91de7b1
-   ENDIF (NOT GObject_FIND_QUIETLY)
Rex Dieter 91de7b1
-ELSE (GOBJECT_FOUND)
Rex Dieter 91de7b1
-    IF (GObject_FIND_REQUIRED)
Rex Dieter 91de7b1
-      MESSAGE(STATUS "Could NOT find GObject")
Rex Dieter 91de7b1
-    ENDIF(GObject_FIND_REQUIRED)
Rex Dieter 91de7b1
-ENDIF (GOBJECT_FOUND)
Rex Dieter 91de7b1
+INCLUDE(FindPackageHandleStandardArgs)
Rex Dieter 91de7b1
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GOBJECT DEFAULT_MSG GOBJECT_LIBRARIES GOBJECT_INCLUDE_DIR)
Rex Dieter 91de7b1
 
Rex Dieter 91de7b1
-MARK_AS_ADVANCED(GOBJECT_INCLUDE_DIR GOBJECT_LIBRARIES)
Rex Dieter 91de7b1
+MARK_AS_ADVANCED(GOBJECT_INCLUDE_DIR _GObjectLibs _GModuleLibs _GThreadLibs _GLibs)
Rex Dieter 91de7b1
-- 
Rex Dieter 37c7537
1.8.4.2
Rex Dieter 91de7b1