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

Contents of /navit/cmake/FindGTK2.cmake

Parent Directory Parent Directory | Revision Log Revision Log


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

   
Visit the ZANavi Wiki