aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2006-09-05 09:27:22 +0000
committerJörg Mayer <jmayer@loplof.de>2006-09-05 09:27:22 +0000
commit57656db02efe1798883c9a40b04311133e64e626 (patch)
treee738bcbdca2e392d180e71874d375f65d8938eaf /cmake
parent72651ba02d94c02c4bbef793c587bb9bcf2790c9 (diff)
OK, as I haven't had any negative feedback, I'm adding my work
to use cmake as a build system. It's in no way complete, I'd just like others to be able to participate in playing with cmake and to document what I'm doing. Please read the README.cmake for what can be done right now. svn path=/trunk/; revision=19149
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindGTK2.cmake260
-rw-r--r--cmake/modules/FindPcap.cmake27
2 files changed, 287 insertions, 0 deletions
diff --git a/cmake/modules/FindGTK2.cmake b/cmake/modules/FindGTK2.cmake
new file mode 100644
index 0000000000..2ea148bcd3
--- /dev/null
+++ b/cmake/modules/FindGTK2.cmake
@@ -0,0 +1,260 @@
+#
+# try to find GTK2 (and glib) and GTKGLArea
+#
+#
+# Jan Woetzel 06/2004: added /opt/gnome/include/gtk-1.2 path and $ENV{GTK2_HOME}
+# Andreas Schneider 08/2006: added pkgconfig, added lib64 include dirs
+# Joerg Mayer 2006-08-31: rename GTK to GTK2
+
+
+# GTK2_INCLUDE_DIR - Directories to include to use GTK
+# GTK2_LIBRARIES - Files to link against to use GTK
+# GTK2_FOUND - If false, don't try to use GTK
+# GTK2_GL_FOUND - If false, don't try to use GTK's GL features
+
+
+# don't even bother under WIN32
+IF(UNIX)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ INCLUDE(UsePkgConfig)
+
+ PKGCONFIG(gtk+-2.0 _GTK2IncDir _GTK2LinkDir _GTK2LinkFlags _GTK2Cflags)
+
+ FIND_PATH(GTK2_gtk_INCLUDE_PATH gtk/gtk.h
+ $ENV{GTK2_HOME}
+ ${_GTK2IncDir}
+ /usr/include/gtk-2.0
+ /usr/local/include/gtk-2.0
+ /opt/gnome/include/gtk-2.0 )
+
+ # Some Linux distributions (e.g. Red Hat) have glibconfig.h
+ # and glib.h in different directories, so we need to look
+ # for both.
+ # - Atanas Georgiev <atanas@cs.columbia.edu>
+ PKGCONFIG(glib-2.0 _GLIB2IncDir _GLIB2inkDir _GLIB2LinkFlags _GLIB2Cflags)
+ PKGCONFIG(gmodule-2.0 _GMODULE2IncDir _GMODULE2inkDir _GMODULE2LinkFlags _GMODULE2Cflags)
+ SET(GDIR /opt/gnome/lib/glib-2.0/include)
+ FIND_PATH(GTK2_glibconfig_INCLUDE_PATH glibconfig.h
+ ${_GLIB2IncDir}
+ /opt/gnome/lib64/glib-2.0/include
+ /opt/gnome/lib/glib-2.0/include
+ /usr/lib64/glib-2.0/include
+ /usr/lib/glib-2.0/include
+ )
+MESSAGE("GTK2_glibconfig_INCLUDE_PATH = ${GTK2_glibconfig_INCLUDE_PATH}")
+
+ FIND_PATH(GTK2_glib_INCLUDE_PATH glib.h
+ ${_GLIB2IncDir}
+ /opt/gnome/include/glib-2.0
+ /usr/include/glib-2.0
+ )
+# MESSAGE(" = ${}")
+
+ FIND_PATH(GTK2_gtkgl_INCLUDE_PATH gtkgl/gtkglarea.h
+ ${_GLIB2IncDir}
+ /usr/include
+ /usr/local/include
+ /usr/openwin/share/include
+ /opt/gnome/include
+ )
+
+ PKGCONFIG(pango _PANGOIncDir _PANGOinkDir _PANGOLinkFlags _PANGOCflags)
+
+ FIND_PATH(GTK2_pango_INCLUDE_PATH pango/pango.h
+ ${_PANGOIncDir}
+ /opt/gnome/include/pango-1.0
+ /usr/include/pango-1.0
+ )
+
+ PKGCONFIG(gdk-2.0 _GDK2IncDir _GDK2inkDir _GDK2LinkFlags _GDK2Cflags)
+ FIND_PATH(GTK2_gdkconfig_INCLUDE_PATH gdkconfig.h
+ ${_GDK2IncDir}
+ /opt/gnome/lib/gtk-2.0/include
+ /opt/gnome/lib64/gtk-2.0/include
+ /usr/lib/gtk-2.0/include
+ /usr/lib64/gtk-2.0/include
+ )
+
+ PKGCONFIG(cairo _CAIROIncDir _CAIROinkDir _CAIROLinkFlags _CAIROCflags)
+ FIND_PATH(GTK2_cairo_INCLUDE_PATH cairo.h
+ ${_CAIROIncDir}
+ /opt/gnome/include/cairo
+ /usr/include
+ /usr/include/cairo )
+ #MESSAGE("GTK2_cairo_INCLUDE_PATH = ${GTK2_cairo_INCLUDE_PATH}")
+
+ PKGCONFIG(atk _ATKIncDir _ATKinkDir _ATKLinkFlags _ATKCflags)
+ FIND_PATH(GTK2_atk_INCLUDE_PATH atk/atk.h
+ ${_ATKIncDir}
+ /opt/gnome/include/atk-1.0
+ /usr/include/atk-1.0
+ )
+ #MESSAGE("GTK2_atk_INCLUDE_PATH = ${GTK2_atk_INCLUDE_PATH}")
+
+ FIND_LIBRARY( GTK2_gtkgl_LIBRARY gtkgl
+ ${_GTK2IncDir}
+ /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ #
+ # The 12 suffix is thanks to the FreeBSD ports collection
+ #
+
+ FIND_LIBRARY(GTK2_gtk_LIBRARY
+ NAMES gtk-x11-2.0
+ PATHS ${_GTK2LinkDir}
+ /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_gdk_LIBRARY
+ NAMES gdk-x11-2.0
+ PATHS ${_GDK2LinkDir}
+ /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_gmodule_LIBRARY
+ NAMES gmodule-2.0
+ PATHS ${_GMODULE2inkDir}
+ /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_glib_LIBRARY
+ NAMES glib-2.0
+ PATHS ${_GLIB2inkDir}
+ /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_Xi_LIBRARY
+ NAMES Xi
+ PATHS /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_gthread_LIBRARY
+ NAMES gthread-2.0
+ PATHS /usr/lib
+ /usr/local/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /opt/gnome/lib
+ )
+
+ FIND_LIBRARY( GTK2_gobject_LIBRARY
+ NAMES gobject-2.0
+ PATHS
+ /opt/gnome/lib
+ )
+
+ IF(GTK2_gtk_INCLUDE_PATH)
+ IF(GTK2_glibconfig_INCLUDE_PATH)
+ IF(GTK2_glib_INCLUDE_PATH)
+ IF(GTK2_gtk_LIBRARY)
+ IF(GTK2_glib_LIBRARY)
+ IF(GTK2_pango_INCLUDE_PATH)
+ IF(GTK2_atk_INCLUDE_PATH)
+ IF(GTK2_cairo_INCLUDE_PATH)
+ # Assume that if gtk and glib were found, the other
+ # supporting libraries have also been found.
+
+ SET( GTK2_FOUND TRUE )
+ SET( GTK2_INCLUDE_DIR ${GTK2_gtk_INCLUDE_PATH}
+ ${GTK2_glibconfig_INCLUDE_PATH}
+ ${GTK2_glib_INCLUDE_PATH}
+ ${GTK2_pango_INCLUDE_PATH}
+ ${GTK2_gdkconfig_INCLUDE_PATH}
+ ${GTK2_atk_INCLUDE_PATH}
+ ${GTK2_cairo_INCLUDE_PATH})
+ SET( GTK2_LIBRARIES ${GTK2_gtk_LIBRARY}
+ ${GTK2_gdk_LIBRARY}
+ ${GTK2_glib_LIBRARY} )
+ #${GTK2_gobject_LIBRARY})
+
+ IF(GTK2_gmodule_LIBRARY)
+ SET(GTK2_LIBRARIES ${GTK2_LIBRARIES} ${GTK2_gmodule_LIBRARY})
+ ENDIF(GTK2_gmodule_LIBRARY)
+ IF(GTK2_gthread_LIBRARY)
+ SET(GTK2_LIBRARIES ${GTK2_LIBRARIES} ${GTK2_gthread_LIBRARY})
+ ENDIF(GTK2_gthread_LIBRARY)
+ ELSE(GTK2_cairo_INCLUDE_PATH)
+ MESSAGE("Can not find cairo")
+ ENDIF(GTK2_cairo_INCLUDE_PATH)
+ ELSE(GTK2_atk_INCLUDE_PATH)
+ MESSAGE("Can not find atk")
+ ENDIF(GTK2_atk_INCLUDE_PATH)
+
+ ELSE(GTK2_pango_INCLUDE_PATH)
+ MESSAGE("Can not find pango includes")
+ ENDIF(GTK2_pango_INCLUDE_PATH)
+ ELSE(GTK2_glib_LIBRARY)
+ MESSAGE("Can not find glib lib")
+ ENDIF(GTK2_glib_LIBRARY)
+ ELSE(GTK2_gtk_LIBRARY)
+ MESSAGE("Can not find gtk lib")
+ ENDIF(GTK2_gtk_LIBRARY)
+ ELSE(GTK2_glib_INCLUDE_PATH)
+ MESSAGE("Can not find glib includes")
+ ENDIF(GTK2_glib_INCLUDE_PATH)
+ ELSE(GTK2_glibconfig_INCLUDE_PATH)
+ MESSAGE("Can not find glibconfig")
+ ENDIF(GTK2_glibconfig_INCLUDE_PATH)
+ ELSE(GTK2_gtk_INCLUDE_PATH)
+ MESSAGE("Can not find gtk includes")
+ ENDIF(GTK2_gtk_INCLUDE_PATH)
+
+ if (GTK2_FOUND)
+ if (NOT GTK2_FIND_QUIETLY)
+ message(STATUS "Found GTK: ${GTK2_LIBRARIES}")
+ endif (NOT GTK2_FIND_QUIETLY)
+ else (GTK2_FOUND)
+ if (GTK2_FIND_REQUIRED)
+ message(FATAL_ERROR "Could NOT find GTK")
+ endif (GTK2_FIND_REQUIRED)
+ endif (GTK2_FOUND)
+
+
+ MARK_AS_ADVANCED(
+ GTK2_gdk_LIBRARY
+ GTK2_glib_INCLUDE_PATH
+ GTK2_glib_LIBRARY
+ GTK2_glibconfig_INCLUDE_PATH
+ GTK2_gmodule_LIBRARY
+ GTK2_gthread_LIBRARY
+ GTK2_Xi_LIBRARY
+ GTK2_gtk_INCLUDE_PATH
+ GTK2_gtk_LIBRARY
+ GTK2_gtkgl_INCLUDE_PATH
+ GTK2_gtkgl_LIBRARY
+ GTK2_atk_INCLUDE_PATH
+ GTK2_gdkconfig_INCLUDE_PATH
+# GTK2_gobject_LIBRARY
+ GTK2_pango_INCLUDE_PATH
+ )
+
+ELSE(UNIX)
+ # MESSAGE("FindGTK2 is working on UNIX/LINUX, only!")
+ENDIF(UNIX)
+
diff --git a/cmake/modules/FindPcap.cmake b/cmake/modules/FindPcap.cmake
new file mode 100644
index 0000000000..8eb537d9c7
--- /dev/null
+++ b/cmake/modules/FindPcap.cmake
@@ -0,0 +1,27 @@
+# - Find pcap
+# Find the PCAP includes and library
+#
+# PCAP_INCLUDE_DIR - where to find pcap.h, etc.
+# PCAP_LIBRARIES - List of libraries when using pcap.
+# PCAP_FOUND - True if pcap found.
+
+FIND_PATH(PCAP_INCLUDE_DIR pcap.h
+ /usr/local/include
+ /usr/include
+)
+
+FIND_LIBRARY(PCAP_LIBRARIES
+ NAMES pcap
+ PATHS /usr/lib /usr/local/lib
+)
+
+IF(PCAP_INCLUDE_DIR)
+ IF(PCAP_LIBRARIES)
+ SET( PCAP_FOUND "YES" )
+ ENDIF(PCAP_LIBRARIES)
+ENDIF(PCAP_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(
+ PCAP_LIBRARIES
+ PCAP_INCLUDE_DIR
+)