FindGTK.cmake 4.5 KB

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