FindGTK.cmake 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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. #=============================================================================
  7. # Copyright 2001-2009 Kitware, Inc.
  8. #
  9. # Distributed under the OSI-approved BSD License (the "License");
  10. # see accompanying file Copyright.txt for details.
  11. #
  12. # This software is distributed WITHOUT ANY WARRANTY; without even the
  13. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. # See the License for more information.
  15. #=============================================================================
  16. # (To distribute this file outside of CMake, substitute the full
  17. # License text for the above reference.)
  18. # don't even bother under WIN32
  19. IF(UNIX)
  20. FIND_PATH( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h
  21. PATH_SUFFIXES gtk-1.2 gtk12
  22. PATHS
  23. /usr/openwin/share/include
  24. /usr/openwin/include
  25. /opt/gnome/include
  26. )
  27. # Some Linux distributions (e.g. Red Hat) have glibconfig.h
  28. # and glib.h in different directories, so we need to look
  29. # for both.
  30. # - Atanas Georgiev <[email protected]>
  31. FIND_PATH( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
  32. PATHS
  33. /usr/openwin/share/include
  34. /usr/local/include/glib12
  35. /usr/lib/glib/include
  36. /usr/local/lib/glib/include
  37. /opt/gnome/include
  38. /opt/gnome/lib/glib/include
  39. )
  40. FIND_PATH( GTK_glib_INCLUDE_PATH NAMES glib.h
  41. PATH_SUFFIXES gtk-1.2 glib-1.2 glib12
  42. PATHS
  43. /usr/openwin/share/include
  44. /usr/lib/glib/include
  45. /opt/gnome/include
  46. )
  47. FIND_PATH( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h
  48. PATHS /usr/openwin/share/include
  49. /opt/gnome/include
  50. )
  51. FIND_LIBRARY( GTK_gtkgl_LIBRARY gtkgl
  52. /usr/openwin/lib
  53. /opt/gnome/lib
  54. )
  55. #
  56. # The 12 suffix is thanks to the FreeBSD ports collection
  57. #
  58. FIND_LIBRARY( GTK_gtk_LIBRARY
  59. NAMES gtk gtk12
  60. PATHS /usr/openwin/lib
  61. /opt/gnome/lib
  62. )
  63. FIND_LIBRARY( GTK_gdk_LIBRARY
  64. NAMES gdk gdk12
  65. PATHS /usr/openwin/lib
  66. /opt/gnome/lib
  67. )
  68. FIND_LIBRARY( GTK_gmodule_LIBRARY
  69. NAMES gmodule gmodule12
  70. PATHS /usr/openwin/lib
  71. /opt/gnome/lib
  72. )
  73. FIND_LIBRARY( GTK_glib_LIBRARY
  74. NAMES glib glib12
  75. PATHS /usr/openwin/lib
  76. /opt/gnome/lib
  77. )
  78. FIND_LIBRARY( GTK_Xi_LIBRARY
  79. NAMES Xi
  80. PATHS /usr/openwin/lib
  81. /opt/gnome/lib
  82. )
  83. FIND_LIBRARY( GTK_gthread_LIBRARY
  84. NAMES gthread gthread12
  85. PATHS /usr/openwin/lib
  86. /opt/gnome/lib
  87. )
  88. IF(GTK_gtk_INCLUDE_PATH
  89. AND GTK_glibconfig_INCLUDE_PATH
  90. AND GTK_glib_INCLUDE_PATH
  91. AND GTK_gtk_LIBRARY
  92. AND GTK_glib_LIBRARY)
  93. # Assume that if gtk and glib were found, the other
  94. # supporting libraries have also been found.
  95. SET( GTK_FOUND "YES" )
  96. SET( GTK_INCLUDE_DIR ${GTK_gtk_INCLUDE_PATH}
  97. ${GTK_glibconfig_INCLUDE_PATH}
  98. ${GTK_glib_INCLUDE_PATH} )
  99. SET( GTK_LIBRARIES ${GTK_gtk_LIBRARY}
  100. ${GTK_gdk_LIBRARY}
  101. ${GTK_glib_LIBRARY} )
  102. IF(GTK_gmodule_LIBRARY)
  103. SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY})
  104. ENDIF(GTK_gmodule_LIBRARY)
  105. IF(GTK_gthread_LIBRARY)
  106. SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY})
  107. ENDIF(GTK_gthread_LIBRARY)
  108. IF(GTK_Xi_LIBRARY)
  109. SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY})
  110. ENDIF(GTK_Xi_LIBRARY)
  111. IF(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
  112. SET( GTK_GL_FOUND "YES" )
  113. SET( GTK_INCLUDE_DIR ${GTK_INCLUDE_DIR}
  114. ${GTK_gtkgl_INCLUDE_PATH} )
  115. SET( GTK_LIBRARIES ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} )
  116. MARK_AS_ADVANCED(
  117. GTK_gtkgl_LIBRARY
  118. GTK_gtkgl_INCLUDE_PATH
  119. )
  120. ENDIF(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
  121. ENDIF(GTK_gtk_INCLUDE_PATH
  122. AND GTK_glibconfig_INCLUDE_PATH
  123. AND GTK_glib_INCLUDE_PATH
  124. AND GTK_gtk_LIBRARY
  125. AND GTK_glib_LIBRARY)
  126. MARK_AS_ADVANCED(
  127. GTK_gdk_LIBRARY
  128. GTK_glib_INCLUDE_PATH
  129. GTK_glib_LIBRARY
  130. GTK_glibconfig_INCLUDE_PATH
  131. GTK_gmodule_LIBRARY
  132. GTK_gthread_LIBRARY
  133. GTK_Xi_LIBRARY
  134. GTK_gtk_INCLUDE_PATH
  135. GTK_gtk_LIBRARY
  136. GTK_gtkgl_INCLUDE_PATH
  137. GTK_gtkgl_LIBRARY
  138. )
  139. ENDIF(UNIX)