/[zanavi_public1]/navit/cmake/FindGTK2.cmake
ZANavi

Contents of /navit/cmake/FindGTK2.cmake

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (10 years, 9 months ago) by zoff99
File size: 13110 byte(s)
import files
1 zoff99 2 # - Try to find GTK2
2     # Once done this will define
3     #
4     # GTK2_FOUND - System has Boost
5     # GTK2_INCLUDE_DIRS - GTK2 include directory
6     # GTK2_LIBRARIES - Link these to use GTK2
7     # GTK2_LIBRARY_DIRS - The path to where the GTK2 library files are.
8     # GTK2_DEFINITIONS - Compiler switches required for using GTK2
9     #
10     # Copyright (c) 2007 Andreas Schneider <mail@cynapses.org>
11     #
12     # Redistribution and use is allowed according to the terms of the New
13     # BSD license.
14     # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
15     #
16    
17     set(GTK2_DEBUG ON)
18    
19     macro(GTK2_DEBUG_MESSAGE _message)
20     if (GTK2_DEBUG)
21     message(STATUS "(DEBUG) ${_message}")
22     endif (GTK2_DEBUG)
23     endmacro(GTK2_DEBUG_MESSAGE _message)
24    
25     if (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
26     # in cache already
27     set(GTK2_FOUND TRUE)
28     else (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
29    
30     # use pkg-config to get the directories and then use these values
31     # in the FIND_PATH() and FIND_LIBRARY() calls
32     include(UsePkgConfig)
33    
34     pkgconfig(gtk+-2.0 _GTK2IncDir _GTK2LinkDir _GTK2LinkFlags _GTK2Cflags)
35    
36     find_path(GTK2_GTK_INCLUDE_DIR
37     NAMES
38     gtk/gtk.h
39     PATHS
40     $ENV{GTK2_HOME}
41     ${_GTK2IncDir}
42     ${_GTK2IncDir}/gtk-2.0
43     /usr/include/gtk-2.0
44     /usr/local/include/gtk-2.0
45     /opt/include/gtk-2.0
46     /opt/gnome/include/gtk-2.0
47     /sw/include/gtk-2.0
48     )
49     gtk2_debug_message("GTK2_GTK_INCLUDE_DIR is ${GTK2_GTK_INCLUDE_DIR}")
50    
51     # Some Linux distributions (e.g. Red Hat) have glibconfig.h
52     # and glib.h in different directories, so we need to look
53     # for both.
54     # - Atanas Georgiev <atanas@cs.columbia.edu>
55     pkgconfig(glib-2.0 _GLIB2IncDir _GLIB2LinkDir _GLIB2LinkFlags _GLIB2Cflags)
56     pkgconfig(gmodule-2.0 _GMODULE2IncDir _GMODULE2LinkDir _GMODULE2LinkFlags _GMODULE2Cflags)
57    
58     find_path(GTK2_GLIBCONFIG_INCLUDE_DIR
59     NAMES
60     glibconfig.h
61     PATHS
62     ${_GLIB2IncDir}
63     ${_GMODULE2IncDir}
64     ${_GMODULE2IncDir}/glib-2.0
65     /opt/gnome/lib64/glib-2.0/include
66     /opt/gnome/lib/glib-2.0/include
67     /opt/lib/glib-2.0/include
68     /usr/lib64/glib-2.0/include
69     /usr/lib/glib-2.0/include
70     /sw/lib/glib-2.0/include
71     )
72     gtk2_debug_message("GTK2_GLIBCONFIG_INCLUDE_DIR is ${GTK2_GLIBCONFIG_INCLUDE_DIR}")
73    
74     find_path(GTK2_GLIB_INCLUDE_DIR
75     NAMES
76     glib.h
77     PATHS
78     ${_GLIB2IncDir}
79     ${_GLIB2IncDir}/glib-2.0
80     ${_GMODULE2IncDir}
81     /opt/include/glib-2.0
82     /opt/gnome/include/glib-2.0
83     /usr/include/glib-2.0
84     /sw/include/glib-2.0
85     )
86     gtk2_debug_message("GTK2_GLIB_INCLUDE_DIR is ${GTK2_GLIB_INCLUDE_DIR}")
87    
88     pkgconfig(gdk-2.0 _GDK2IncDir _GDK2LinkDir _GDK2LinkFlags _GDK2Cflags)
89    
90     find_path(GTK2_GDK_INCLUDE_DIR
91     NAMES
92     gdkconfig.h
93     PATHS
94     ${_GDK2IncDir}
95     ${_GDK2IncDir}/gtk-2.0
96     /opt/gnome/lib/gtk-2.0/include
97     /opt/gnome/lib64/gtk-2.0/include
98     /opt/lib/gtk-2.0/include
99     /usr/lib/gtk-2.0/include
100     /usr/lib64/gtk-2.0/include
101     /sw/lib/gtk-2.0/include
102     )
103     gtk2_debug_message("GTK2_GDK_INCLUDE_DIR is ${GTK2_GDK_INCLUDE_DIR}")
104    
105     find_path(GTK2_GTKGL_INCLUDE_DIR
106     NAMES
107     gtkgl/gtkglarea.h
108     PATHS
109     ${_GLIB2IncDir}
110     /usr/include
111     /usr/local/include
112     /usr/openwin/share/include
113     /opt/gnome/include
114     /opt/include
115     /sw/include
116     )
117     gtk2_debug_message("GTK2_GTKGL_INCLUDE_DIR is ${GTK2_GTKGL_INCLUDE_DIR}")
118    
119     pkgconfig(pango _PANGOIncDir _PANGOLinkDir _PANGOLinkFlags _PANGOCflags)
120    
121     find_path(GTK2_PANGO_INCLUDE_DIR
122     NAMES
123     pango/pango.h
124     PATHS
125     ${_PANGOIncDir}
126     ${_PANGOIncDir}/pango-1.0/
127     /usr/include/pango-1.0
128     /opt/gnome/include/pango-1.0
129     /opt/include/pango-1.0
130     /sw/include/pango-1.0
131     )
132     gtk2_debug_message("GTK2_PANGO_INCLUDE_DIR is ${GTK2_PANGO_INCLUDE_DIR}")
133    
134     pkgconfig(cairo _CAIROIncDir _CAIROLinkDir _CAIROLinkFlags _CAIROCflags)
135    
136     find_path(GTK2_CAIRO_INCLUDE_DIR
137     NAMES
138     cairo.h
139     PATHS
140     ${_CAIROIncDir}
141     ${_CAIROIncDir}/cairo
142     /opt/gnome/include/cairo
143     /usr/include
144     /usr/include/cairo
145     /opt/include
146     /opt/include/cairo
147     /sw/include
148     /sw/include/cairo
149     )
150     gtk2_debug_message("GTK2_CAIRO_INCLUDE_DIR is ${GTK2_CAIRO_INCLUDE_DIR}")
151    
152     pkgconfig(gdk-pixbuf-2.0 _GDKPIXBUFIncDir _GDKPIXBUFLinkDir _GDKPIXBUFLinkFlags _GDKPIXBUFCflags)
153    
154     find_path(GTK2_GDKPIXBUF_INCLUDE_DIR
155     NAMES
156     gdk-pixbuf/gdk-pixbuf.h
157     PATHS
158     ${_GDKPIXBUFIncDir}
159     ${_GDKPIXBUFIncDir}/gdk-pixbuf-2.0
160     /opt/gnome/include/cairo
161     /usr/include
162     /usr/include/cairo
163     /opt/include
164     /opt/include/cairo
165     /sw/include
166     /sw/include/cairo
167     /sw/include/gdk-pixbuf-2.0
168     )
169     gtk2_debug_message("GTK2_CAIRO_INCLUDE_DIR is ${GTK2_CAIRO_INCLUDE_DIR}")
170    
171     pkgconfig(atk _ATKIncDir _ATKLinkDir _ATKLinkFlags _ATKCflags)
172    
173     find_path(GTK2_ATK_INCLUDE_DIR
174     NAMES
175     atk/atk.h
176     PATHS
177     ${_ATKIncDir}
178     ${_ATKIncDir}/atk-1.0
179     /opt/gnome/include/atk-1.0
180     /usr/include/atk-1.0
181     /opt/include/atk-1.0
182     /sw/include/atk-1.0
183     )
184     gtk2_debug_message("GTK2_ATK_INCLUDE_DIR is ${GTK2_ATK_INCLUDE_DIR}")
185     if (UNIX)
186     find_library(GTK2_GTK_LIBRARY
187     NAMES
188     gtk-x11-2.0
189     PATHS
190     ${_GTK2LinkDir}
191     /usr/lib
192     /usr/local/lib
193     /usr/openwin/lib
194     /usr/X11R6/lib
195     /opt/gnome/lib
196     /opt/lib
197     /sw/lib
198     )
199     gtk2_debug_message("GTK2_GTK_LIBRARY is ${GTK2_GTK_LIBRARY}")
200    
201     find_library(GTK2_GDK_LIBRARY
202     NAMES
203     gdk-x11-2.0
204     PATHS
205     ${_GDK2LinkDir}
206     /usr/lib
207     /usr/local/lib
208     /usr/openwin/lib
209     /usr/X11R6/lib
210     /opt/gnome/lib
211     /opt/lib
212     /sw/lib
213     )
214     gtk2_debug_message("GTK2_GDK_LIBRARY is ${GTK2_GDK_LIBRARY}")
215     endif(UNIX)
216     if (WIN32)
217    
218     find_library(GTK2_GTK_LIBRARY
219     NAMES
220     gtk-win32-2.0
221     PATHS
222     ${_GTK2LinkDir}
223     /usr/lib
224     /usr/local/lib
225     /usr/openwin/lib
226     /usr/X11R6/lib
227     /opt/gnome/lib
228     /opt/lib
229     /sw/lib
230     )
231     gtk2_debug_message("GTK2_GTK_LIBRARY is ${GTK2_GTK_LIBRARY}")
232    
233     find_library(GTK2_GDK_LIBRARY
234     NAMES
235     gdk-win32-2.0
236     PATHS
237     ${_GDK2LinkDir}
238     /usr/lib
239     /usr/local/lib
240     /usr/openwin/lib
241     /usr/X11R6/lib
242     /opt/gnome/lib
243     /opt/lib
244     /sw/lib
245     )
246     endif (WIN32)
247     find_library(GTK2_GDK_PIXBUF_LIBRARY
248     NAMES
249     gdk_pixbuf-2.0
250     PATHS
251     ${_GDK2LinkDir}
252     /usr/lib
253     /usr/local/lib
254     /usr/openwin/lib
255     /usr/X11R6/lib
256     /opt/gnome/lib
257     /opt/lib
258     /sw/lib
259     )
260     gtk2_debug_message("GTK2_GDK_PIXBUF_LIBRARY is ${GTK2_GDK_PIXBUF_LIBRARY}")
261    
262     find_library(GTK2_GMODULE_LIBRARY
263     NAMES
264     gmodule-2.0
265     PATHS
266     ${_GMODULE2LinkDir}
267     /usr/lib
268     /usr/local/lib
269     /usr/openwin/lib
270     /usr/X11R6/lib
271     /opt/gnome/lib
272     /opt/lib
273     /sw/lib
274     )
275     gtk2_debug_message("GTK2_GMODULE_LIBRARY is ${GTK2_GMODULE_LIBRARY}")
276    
277     find_library(GTK2_GTHREAD_LIBRARY
278     NAMES
279     gthread-2.0
280     PATHS
281     ${_GTK2LinkDir}
282     /usr/lib
283     /usr/local/lib
284     /usr/openwin/lib
285     /usr/X11R6/lib
286     /opt/gnome/lib
287     /opt/lib
288     /sw/lib
289     )
290     gtk2_debug_message("GTK2_GTHREAD_LIBRARY is ${GTK2_GTHREAD_LIBRARY}")
291    
292     find_library(GTK2_GOBJECT_LIBRARY
293     NAMES
294     gobject-2.0
295     PATHS
296     ${_GTK2LinkDir}
297     /usr/lib
298     /usr/local/lib
299     /usr/openwin/lib
300     /usr/X11R6/lib
301     /opt/gnome/lib
302     /opt/lib
303     /sw/lib
304     )
305     gtk2_debug_message("GTK2_GOBJECT_LIBRARY is ${GTK2_GOBJECT_LIBRARY}")
306    
307     find_library(GTK2_GLIB_LIBRARY
308     NAMES
309     glib-2.0
310     PATHS
311     ${_GLIB2LinkDir}
312     /usr/lib
313     /usr/local/lib
314     /usr/openwin/lib
315     /usr/X11R6/lib
316     /opt/gnome/lib
317     /opt/lib
318     /sw/lib
319     )
320     gtk2_debug_message("GTK2_GLIB_LIBRARY is ${GTK2_GLIB_LIBRARY}")
321    
322     find_library(GTK2_GTKGL_LIBRARY
323     NAMES
324     gtkgl
325     PATHS
326     ${_GTK2LinkDir}
327     /usr/lib
328     /usr/local/lib
329     /usr/openwin/lib
330     /usr/X11R6/lib
331     /opt/gnome/lib
332     /opt/lib
333     /sw/lib
334     )
335     gtk2_debug_message("GTK2_GTKGL_LIBRARY is ${GTK2_GTKGL_LIBRARY}")
336    
337     find_library(GTK2_PANGO_LIBRARY
338     NAMES
339     pango-1.0
340     PATHS
341     ${_PANGOLinkDir}
342     /usr/lib
343     /usr/local/lib
344     /usr/openwin/lib
345     /usr/X11R6/lib
346     /opt/gnome/lib
347     /opt/lib
348     /sw/lib
349     )
350     gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_PANGO_LIBRARY}")
351    
352     find_library(GTK2_CAIRO_LIBRARY
353     NAMES
354     pangocairo-1.0
355     PATHS
356     ${_CAIROLinkDir}
357     /usr/lib
358     /usr/local/lib
359     /usr/openwin/lib
360     /usr/X11R6/lib
361     /opt/gnome/lib
362     /opt/lib
363     /sw/lib
364     )
365     gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_CAIRO_LIBRARY}")
366    
367     find_library(GTK2_ATK_LIBRARY
368     NAMES
369     atk-1.0
370     PATHS
371     ${_ATKinkDir}
372     /usr/lib
373     /usr/local/lib
374     /usr/openwin/lib
375     /usr/X11R6/lib
376     /opt/gnome/lib
377     /opt/lib
378     /sw/lib
379     )
380     gtk2_debug_message("GTK2_ATK_LIBRARY is ${GTK2_ATK_LIBRARY}")
381    
382     set(GTK2_INCLUDE_DIRS
383     ${GTK2_GTK_INCLUDE_DIR}
384     ${GTK2_GLIBCONFIG_INCLUDE_DIR}
385     ${GTK2_GLIB_INCLUDE_DIR}
386     ${GTK2_GDK_INCLUDE_DIR}
387     ${GTK2_PANGO_INCLUDE_DIR}
388     ${GTK2_CAIRO_INCLUDE_DIR}
389     ${GTK2_ATK_INCLUDE_DIR}
390     )
391    
392     if(GTK2_GDKPIXBUF_INCLUDE_DIR)
393     set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTK2_GDKPIXBUF_INCLUDE_DIR})
394     endif(GTK2_GDKPIXBUF_INCLUDE_DIR)
395    
396     if (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
397     if (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
398     if (GTK2_GMODULE_LIBRARY)
399     if (GTK2_GTHREAD_LIBRARY)
400     if (GTK2_GOBJECT_LIBRARY)
401     if (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
402     if (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
403     if (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
404    
405     # set GTK2 libraries
406     set (GTK2_LIBRARIES
407     ${GTK2_GTK_LIBRARY}
408     ${GTK2_GDK_LIBRARY}
409     ${GTK2_GDK_PIXBUF_LIBRARY}
410     ${GTK2_GMODULE_LIBRARY}
411     ${GTK2_GTHREAD_LIBRARY}
412     ${GTK2_GOBJECT_LIBRARY}
413     ${GTK2_PANGO_LIBRARY}
414     ${GTK2_CAIRO_LIBRARY}
415     ${GTK2_ATK_LIBRARY}
416     )
417    
418     # check for gtkgl support
419     if (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
420     set(GTK2_GTKGL_FOUND TRUE)
421    
422     # set(GTK2_INCLUDE_DIRS
423     # ${GTK2_INCLUDE_DIRS}
424     # ${GTK2_GTKGL_INCLUDE_DIR}
425     # )
426    
427     # set(GTK2_LIBRARIES
428     # ${GTK2_LIBRARIES}
429     # ${GTK2_GTKGL_LIBRARY}
430     # )
431     endif (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
432    
433     else (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
434     endif (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
435     else (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
436     endif (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
437     else (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
438     endif (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
439     else (GTK2_GOBJECT_LIBRARY)
440     endif (GTK2_GOBJECT_LIBRARY)
441     else (GTK2_GTHREAD_LIBRARY)
442     endif (GTK2_GTHREAD_LIBRARY)
443     else (GTK2_GMODULE_LIBRARY)
444     endif (GTK2_GMODULE_LIBRARY)
445     else (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
446     endif (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
447     else (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
448     endif (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
449    
450    
451     if (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
452     set(GTK2_FOUND TRUE)
453     endif (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
454    
455     if (GTK2_FOUND)
456     if (NOT GTK2_FIND_QUIETLY)
457     message(STATUS "Found GTK2: ${GTK2_LIBRARIES}")
458     endif (NOT GTK2_FIND_QUIETLY)
459     else (GTK2_FOUND)
460     if (GTK2_FIND_REQUIRED)
461     message(FATAL_ERROR "Could not find GTK2")
462     endif (GTK2_FIND_REQUIRED)
463     endif (GTK2_FOUND)
464    
465     # show the GTK2_INCLUDE_DIRS and GTK2_LIBRARIES variables only in the advanced view
466     mark_as_advanced(GTK2_INCLUDE_DIRS GTK2_LIBRARIES)
467    
468    
469     endif (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
470    

   
Visit the ZANavi Wiki