FindFreetype.cmake 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # Once done these will be defined:
  2. #
  3. # FREETYPE_FOUND
  4. # FREETYPE_INCLUDE_DIRS
  5. # FREETYPE_LIBRARIES
  6. find_package(PkgConfig QUIET)
  7. if (PKG_CONFIG_FOUND)
  8. pkg_check_modules(_FREETYPE QUIET freetype2)
  9. endif()
  10. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  11. set(_lib_suffix 64)
  12. else()
  13. set(_lib_suffix 32)
  14. endif()
  15. find_path(FREETYPE_INCLUDE_DIR_ft2build
  16. NAMES
  17. ft2build.h
  18. HINTS
  19. ENV FreetypePath${_lib_suffix}
  20. ENV FreetypePath
  21. ENV FREETYPE_DIR
  22. ENV DepsPath${_lib_suffix}
  23. ENV DepsPath
  24. ${FreetypePath${_lib_suffix}}
  25. ${FreetypePath}
  26. ${DepsPath${_lib_suffix}}
  27. ${DepsPath}
  28. ${_FREETYPE_INCLUDE_DIRS}
  29. PATHS
  30. /usr/include /usr/local/include /opt/local/include /sw/include
  31. PATH_SUFFIXES
  32. freetype2 include/freetype2 include)
  33. find_path(FREETYPE_INCLUDE_DIR_freetype2
  34. NAMES
  35. freetype/config/ftheader.h
  36. config/ftheader.h
  37. HINTS
  38. ENV FreetypePath${_lib_suffix}
  39. ENV FreetypePath
  40. ENV FREETYPE_DIR
  41. ENV DepsPath${_lib_suffix}
  42. ENV DepsPath
  43. ${FreetypePath${_lib_suffix}}
  44. ${FreetypePath}
  45. ${DepsPath${_lib_suffix}}
  46. ${DepsPath}
  47. ${_FREETYPE_INCLUDE_DIRS}
  48. PATHS
  49. /usr/include /usr/local/include /opt/local/include /sw/include
  50. PATH_SUFFIXES
  51. freetype2 include/freetype2 include)
  52. find_library(FREETYPE_LIB
  53. NAMES ${_FREETYPE_LIBRARIES} freetype libfreetype
  54. HINTS
  55. ENV FreetypePath${_lib_suffix}
  56. ENV FreetypePath
  57. ENV FREETYPE_DIR
  58. ENV DepsPath${_lib_suffix}
  59. ENV DepsPath
  60. ${FreetypePath${_lib_suffix}}
  61. ${FreetypePath}
  62. ${DepsPath${_lib_suffix}}
  63. ${DepsPath}
  64. ${_FREETYPE_LIBRARY_DIRS}
  65. PATHS
  66. /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  67. PATH_SUFFIXES
  68. lib${_lib_suffix} lib
  69. libs${_lib_suffix} libs
  70. bin${_lib_suffix} bin
  71. ../lib${_lib_suffix} ../lib
  72. ../libs${_lib_suffix} ../libs
  73. ../bin${_lib_suffix} ../bin)
  74. if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
  75. set(FREETYPE_INCLUDE_DIR "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
  76. list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIR)
  77. else()
  78. unset(FREETYPE_INCLUDE_DIR)
  79. endif()
  80. include(FindPackageHandleStandardArgs)
  81. find_package_handle_standard_args(Freetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
  82. mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_LIB)
  83. if(FREETYPE_FOUND)
  84. set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
  85. set(FREETYPE_LIBRARIES ${FREETYPE_LIB})
  86. endif()