summaryrefslogtreecommitdiff
path: root/cmake/modules/FindGTK.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindGTK.cmake')
-rw-r--r--cmake/modules/FindGTK.cmake70
1 files changed, 70 insertions, 0 deletions
diff --git a/cmake/modules/FindGTK.cmake b/cmake/modules/FindGTK.cmake
new file mode 100644
index 00000000..799bef6b
--- /dev/null
+++ b/cmake/modules/FindGTK.cmake
@@ -0,0 +1,70 @@
+# - try to find GTK (and glib)
+# Once done this will define
+#
+# GLIB_FOUND - system has GLib
+# GLIB_CFLAGS - the GLib CFlags
+# GLIB_LIBRARIES - Link these to use GLib
+#
+# Copyright 2008 Pino Toscano, <pino@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+include(FindPackageHandleStandardArgs)
+
+if (NOT WIN32)
+ include(UsePkgConfig)
+
+ pkgconfig(glib-2.0 _LibGLIB2IncDir _LibGLIB2LinkDir GLIB2LinkFlags GLIB2Cflags)
+ pkgconfig(gdk-2.0 _LibGDK2IncDir _LibGDK2LinkDir GDK2LinkFlags GDK2Cflags)
+ set (GLIB_FOUND FALSE)
+ if (_LibGLIB2IncDir AND _LibGDK2IncDir)
+
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=2.6 glib-2.0 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull)
+ if(_return_VALUE STREQUAL "0")
+ set(_glib_FOUND TRUE)
+ endif(_return_VALUE STREQUAL "0")
+
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=2.4.0 gdk-2.0 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull)
+ if(_return_VALUE STREQUAL "0")
+ set(_gdk_FOUND TRUE)
+ endif(_return_VALUE STREQUAL "0")
+
+ if (_glib_FOUND AND _gdk_FOUND)
+ set (GLIB2_CFLAGS ${GLIB2Cflags} ${GDK2Cflags})
+ set (GLIB2_LIBRARIES ${GLIB2LinkFlags} ${GDK2LinkFlags})
+ endif (_glib_FOUND AND _gdk_FOUND)
+
+ find_package_handle_standard_args(GLib DEFAULT_MSG GLIB2_LIBRARIES GLIB2_CFLAGS)
+
+ endif (_LibGLIB2IncDir AND _LibGDK2IncDir)
+
+ pkgconfig(gtk+-2.0 _LibGTK2IncDir _LibGTK2LinkDir GTK2LinkFlags GTK2Cflags)
+ pkgconfig(gdk-pixbuf-2.0 _LibGDK2PixbufIncDir _LibGDK2PixbufLinkDir GDK2PixbufLinkFlags GDK2PixbufCflags)
+ pkgconfig(libglade-2.0 _LibGLADE2IncDir _LibGLADE2LinkDir GLADE2LinkFlags GLADE2Cflags)
+
+ if (_LibGTK2IncDir AND _LibGDK2PixbufIncDir AND _LibGLADE2IncDir)
+
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=2.8.0 gtk+-2.0 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull)
+ if(_return_VALUE STREQUAL "0")
+ set(_gtk_FOUND TRUE)
+ endif(_return_VALUE STREQUAL "0")
+
+ if (_gtk_FOUND)
+ set (GTK2_CFLAGS ${GTK2Cflags} ${GDK2PixbufCflags} ${GLADE2Cflags})
+ set (GTK2_LIBRARIES ${GTK2LinkFlags} ${GDK2PixbufLinkFlags} ${GLADE2LinkFlags})
+ endif (_gtk_FOUND)
+
+ find_package_handle_standard_args(GTK DEFAULT_MSG GTK2_LIBRARIES GTK2_CFLAGS)
+
+ endif (_LibGTK2IncDir AND _LibGDK2PixbufIncDir AND _LibGLADE2IncDir)
+
+endif(NOT WIN32)
+
+mark_as_advanced(
+ GLIB2_CFLAGS
+ GLIB2_LIBRARIES
+ GTK2_CFLAGS
+ GTK2_LIBRARIES
+)
+