FindFLTK.cmake 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #
  2. # Find the native FLTK includes and library
  3. #
  4. # FLTK_FLUID_EXE, where to find the Fluid tool
  5. # FLTK_WRAP_UI, This allows the FLTK_WRAP_UI command to work.
  6. # FLTK_INCLUDE_PATH, where to find include files
  7. # FLTK_LIBRARY, list of fltk libraries
  8. # FLTK_BASE_LIBRARY, the full path to fltk.lib
  9. # FLTK_GL_LIBRARY, the full path to fltk_gl.lib
  10. # FLTK_FORMS_LIBRARY, the full path to fltk_forms.lib
  11. OPTION(USE_FLTK_VERSION_1.0.11 "Use FLTK version 1.0.11" 1)
  12. OPTION(USE_FLTK_VERSION_1.1 "Use FLTK version 1.1" 0)
  13. # Exlusion between the two version
  14. IF(USE_FLTK_VERSION_1.0.11)
  15. SET(USE_FLTK_VERSION_1.1 0)
  16. ENDIF(USE_FLTK_VERSION_1.0.11)
  17. FIND_PATH(FLTK_INCLUDE_PATH FL/Fl.h
  18. /usr/local/include
  19. /usr/include
  20. /usr/local/fltk
  21. /usr/X11R6/include
  22. H:/usr/local/fltk
  23. )
  24. # Make sure that the FLTK include path has been set
  25. # So the FLTK_LIBRARY does not appear the first time
  26. IF(FLTK_INCLUDE_PATH)
  27. IF(USE_FLTK_VERSION_1.0.11)
  28. FIND_LIBRARY(FLTK_BASE_LIBRARY fltk
  29. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib H:/usr/local/fltk/lib /usr/X11R6/lib
  30. ${FLTK_INCLUDE_PATH}/lib
  31. )
  32. ENDIF(USE_FLTK_VERSION_1.0.11)
  33. IF(USE_FLTK_VERSION_1.1)
  34. FIND_LIBRARY(FLTK_BASE_LIBRARY fltk
  35. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib H:/usr/local/fltk/lib /usr/X11R6/lib
  36. ${FLTK_INCLUDE_PATH}/lib
  37. )
  38. FIND_LIBRARY(FLTK_GL_LIBRARY fltkgl
  39. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib H:/usr/local/fltk/lib /usr/X11R6/lib
  40. ${FLTK_INCLUDE_PATH}/lib
  41. )
  42. FIND_LIBRARY(FLTK_FORMS_LIBRARY fltkforms
  43. PATHS /usr/lib /usr/local/lib /usr/local/fltk/lib H:/usr/local/fltk/lib /usr/X11R6/lib
  44. ${FLTK_INCLUDE_PATH}/lib
  45. )
  46. ENDIF(USE_FLTK_VERSION_1.1)
  47. SET( FLTK_LIBRARY ${FLTK_BASE_LIBRARY} ${FLTK_GL_LIBRARY} ${FLTK_FORMS_LIBRARY} )
  48. ENDIF(FLTK_INCLUDE_PATH)
  49. # Find Fluid
  50. FIND_FILE(FLTK_FLUID_EXE fluid
  51. ${path} ${FLTK_INCLUDE_PATH}/fluid
  52. )
  53. # Enable the Wrap UI command
  54. IF (FLTK_FLUID_EXE)
  55. SET ( FLTK_WRAP_UI 1 CACHE INTERNAL "Can we honour the FLTK_WRAP_UI command" )
  56. ENDIF (FLTK_FLUID_EXE)
  57. #
  58. # Set HAS_FLTK
  59. # This is the final flag that will be checked by
  60. # other code that requires FLTK for compile/run.
  61. #
  62. IF(FLTK_FLUID_EXE)
  63. IF(FLTK_INCLUDE_PATH)
  64. IF(FLTK_LIBRARY)
  65. SET (HAS_FLTK 1 CACHE INTERNAL "FLTK library, headers and Fluid are available")
  66. ENDIF(FLTK_LIBRARY)
  67. ENDIF(FLTK_INCLUDE_PATH)
  68. ENDIF(FLTK_FLUID_EXE)