FindFLTK.cmake 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #
  2. # Find the native FLTK includes and library
  3. #
  4. # The following settings are defined
  5. # FLTK_FLUID_EXECUTABLE, where to find the Fluid tool
  6. # FLTK_INCLUDE_DIR, where to find include files
  7. # FLTK_LIBRARIES, list of fltk libraries
  8. # FLTK_VERSION_1.0.11 Use this Version
  9. # FLTK_VERSION_1.1 Use this Version
  10. # FLTK_FOUND, Don't use FLTK if false.
  11. # The following settings should not be used in general.
  12. # FLTK_BASE_LIBRARY = the full path to fltk.lib
  13. # FLTK_GL_LIBRARY = the full path to fltk_gl.lib
  14. # FLTK_FORMS_LIBRARY = the full path to fltk_forms.lib
  15. # FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
  16. OPTION(FLTK_VERSION_1.1 "Use FLTK version 1.1" 1)
  17. OPTION(FLTK_VERSION_1.0.11 "Use FLTK version 1.0.11" 0)
  18. # Exclusion between the two version
  19. IF(FLTK_VERSION_1.1)
  20. SET(FLTK_VERSION_1.0.11 0)
  21. ENDIF(FLTK_VERSION_1.1)
  22. # look for both Fl.h and Fl.H
  23. FIND_PATH(FLTK_INCLUDE_DIR FL/Fl.h
  24. /usr/local/include
  25. /usr/include
  26. /usr/local/fltk
  27. /usr/X11R6/include
  28. )
  29. FIND_PATH(FLTK_INCLUDE_DIR FL/Fl.H
  30. /usr/local/include
  31. /usr/include
  32. /usr/local/fltk
  33. /usr/X11R6/include
  34. )
  35. # Platform dependent libraries required by FLTK
  36. IF(WIN32)
  37. IF(NOT CYGWIN)
  38. IF(BORLAND)
  39. SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
  40. ELSE(BORLAND)
  41. SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
  42. ENDIF(BORLAND)
  43. ENDIF(NOT CYGWIN)
  44. ENDIF(WIN32)
  45. IF(UNIX)
  46. INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
  47. SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
  48. ENDIF(UNIX)
  49. IF(APPLE)
  50. SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
  51. ENDIF(APPLE)
  52. # Make sure that the FLTK include path has been set
  53. # So the FLTK_LIBRARY does not appear the first time
  54. IF(FLTK_INCLUDE_DIR)
  55. IF(FLTK_VERSION_1.0.11)
  56. FIND_LIBRARY(FLTK_BASE_LIBRARY NAMES fltk fltkd
  57. PATHS /usr/lib /usr/local/lib
  58. /usr/local/lib/fltk
  59. /usr/local/fltk/lib
  60. /usr/X11R6/lib ${FLTK_INCLUDE_DIR}/lib
  61. )
  62. ENDIF(FLTK_VERSION_1.0.11)
  63. IF(FLTK_VERSION_1.1)
  64. FIND_LIBRARY(FLTK_BASE_LIBRARY NAMES fltk fltkd
  65. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib
  66. /usr/X11R6/lib ${FLTK_INCLUDE_DIR}/lib
  67. )
  68. FIND_LIBRARY(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
  69. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib
  70. /usr/X11R6/lib ${FLTK_INCLUDE_DIR}/lib
  71. )
  72. FIND_LIBRARY(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
  73. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib
  74. /usr/X11R6/lib ${FLTK_INCLUDE_DIR}/lib
  75. )
  76. FIND_LIBRARY(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
  77. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib
  78. /usr/X11R6/lib ${FLTK_INCLUDE_DIR}/lib
  79. )
  80. ENDIF(FLTK_VERSION_1.1)
  81. SET( FLTK_LIBRARIES
  82. ${FLTK_GL_LIBRARY}
  83. ${FLTK_FORMS_LIBRARY}
  84. ${FLTK_IMAGES_LIBRARY}
  85. ${FLTK_BASE_LIBRARY}
  86. ${FLTK_PLATFORM_DEPENDENT_LIBS}
  87. )
  88. ENDIF(FLTK_INCLUDE_DIR)
  89. # Find Fluid
  90. FIND_PROGRAM(FLTK_FLUID_EXECUTABLE fluid
  91. ${path} ${FLTK_INCLUDE_DIR}/fluid
  92. )
  93. #
  94. # Set FLTK_FOUND
  95. # This is the final flag that will be checked by
  96. # other code that requires FLTK for compile/run.
  97. #
  98. IF(FLTK_FLUID_EXECUTABLE)
  99. IF(FLTK_INCLUDE_DIR)
  100. IF(FLTK_LIBRARIES)
  101. # The fact that it is in the cache is deprecated.
  102. SET (FLTK_FOUND 1 CACHE INTERNAL "FLTK library, headers and Fluid are available")
  103. # The following deprecated settings are for compatibility with CMake 1.4
  104. SET (HAS_FLTK ${FLTK_FOUND})
  105. SET (FLTK_INCLUDE_PATH ${FLTK_INCLUDE_DIR})
  106. SET (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
  107. SET (FLTK_LIBRARY ${FLTK_LIBRARIES})
  108. ENDIF(FLTK_LIBRARIES)
  109. ENDIF(FLTK_INCLUDE_DIR)
  110. ENDIF(FLTK_FLUID_EXECUTABLE)
  111. MARK_AS_ADVANCED(
  112. FLTK_VERSION_1.0.11
  113. FLTK_VERSION_1.1
  114. )