1# Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2# file Copyright.txt or https://cmake.org/licensing for details. 3 4#[=======================================================================[.rst: 5FindGTK 6------- 7 8Find GTK, glib and GTKGLArea 9 10:: 11 12 GTK_INCLUDE_DIR - Directories to include to use GTK 13 GTK_LIBRARIES - Files to link against to use GTK 14 GTK_FOUND - GTK was found 15 GTK_GL_FOUND - GTK's GL features were found 16#]=======================================================================] 17 18# don't even bother under WIN32 19if(UNIX) 20 21 find_path( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h 22 PATH_SUFFIXES gtk-1.2 gtk12 23 PATHS 24 /usr/openwin/share/include 25 /usr/openwin/include 26 /opt/gnome/include 27 ) 28 29 # Some Linux distributions (e.g. Red Hat) have glibconfig.h 30 # and glib.h in different directories, so we need to look 31 # for both. 32 # - Atanas Georgiev <[email protected]> 33 34 find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h 35 PATH_SUFFIXES glib/include lib/glib/include include/glib12 36 PATHS 37 /usr/openwin/share/include 38 /opt/gnome/include 39 /opt/gnome/lib/glib/include 40 ) 41 42 find_path( GTK_glib_INCLUDE_PATH NAMES glib.h 43 PATH_SUFFIXES gtk-1.2 glib-1.2 glib12 glib/include lib/glib/include 44 PATHS 45 /usr/openwin/share/include 46 /opt/gnome/include 47 ) 48 49 find_path( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h 50 PATHS /usr/openwin/share/include 51 /opt/gnome/include 52 ) 53 54 find_library( GTK_gtkgl_LIBRARY gtkgl 55 /usr/openwin/lib 56 /opt/gnome/lib 57 ) 58 59 # 60 # The 12 suffix is thanks to the FreeBSD ports collection 61 # 62 63 find_library( GTK_gtk_LIBRARY 64 NAMES gtk gtk12 65 PATHS /usr/openwin/lib 66 /opt/gnome/lib 67 ) 68 69 find_library( GTK_gdk_LIBRARY 70 NAMES gdk gdk12 71 PATHS /usr/openwin/lib 72 /opt/gnome/lib 73 ) 74 75 find_library( GTK_gmodule_LIBRARY 76 NAMES gmodule gmodule12 77 PATHS /usr/openwin/lib 78 /opt/gnome/lib 79 ) 80 81 find_library( GTK_glib_LIBRARY 82 NAMES glib glib12 83 PATHS /usr/openwin/lib 84 /opt/gnome/lib 85 ) 86 87 find_library( GTK_Xi_LIBRARY 88 NAMES Xi 89 PATHS /usr/openwin/lib 90 /opt/gnome/lib 91 ) 92 93 find_library( GTK_gthread_LIBRARY 94 NAMES gthread gthread12 95 PATHS /usr/openwin/lib 96 /opt/gnome/lib 97 ) 98 99 if(GTK_gtk_INCLUDE_PATH 100 AND GTK_glibconfig_INCLUDE_PATH 101 AND GTK_glib_INCLUDE_PATH 102 AND GTK_gtk_LIBRARY 103 AND GTK_glib_LIBRARY) 104 105 # Assume that if gtk and glib were found, the other 106 # supporting libraries have also been found. 107 108 set( GTK_FOUND "YES" ) 109 set( GTK_INCLUDE_DIR ${GTK_gtk_INCLUDE_PATH} 110 ${GTK_glibconfig_INCLUDE_PATH} 111 ${GTK_glib_INCLUDE_PATH} ) 112 set( GTK_LIBRARIES ${GTK_gtk_LIBRARY} 113 ${GTK_gdk_LIBRARY} 114 ${GTK_glib_LIBRARY} ) 115 116 if(GTK_gmodule_LIBRARY) 117 set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY}) 118 endif() 119 if(GTK_gthread_LIBRARY) 120 set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY}) 121 endif() 122 if(GTK_Xi_LIBRARY) 123 set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY}) 124 endif() 125 126 if(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY) 127 set( GTK_GL_FOUND "YES" ) 128 set( GTK_INCLUDE_DIR ${GTK_INCLUDE_DIR} 129 ${GTK_gtkgl_INCLUDE_PATH} ) 130 set( GTK_LIBRARIES ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} ) 131 mark_as_advanced( 132 GTK_gtkgl_LIBRARY 133 GTK_gtkgl_INCLUDE_PATH 134 ) 135 endif() 136 137 endif() 138 139 mark_as_advanced( 140 GTK_gdk_LIBRARY 141 GTK_glib_INCLUDE_PATH 142 GTK_glib_LIBRARY 143 GTK_glibconfig_INCLUDE_PATH 144 GTK_gmodule_LIBRARY 145 GTK_gthread_LIBRARY 146 GTK_Xi_LIBRARY 147 GTK_gtk_INCLUDE_PATH 148 GTK_gtk_LIBRARY 149 GTK_gtkgl_INCLUDE_PATH 150 GTK_gtkgl_LIBRARY 151 ) 152 153endif() 154