FindGTK.cmake 3.8 KB

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