FindFreetype.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. ${_FREETYPE_INCLUDE_DIRS}
  23. PATHS
  24. /usr/include /usr/local/include /opt/local/include /sw/include
  25. PATH_SUFFIXES
  26. freetype2 include/freetype2 include)
  27. find_path(FREETYPE_INCLUDE_DIR_freetype2
  28. NAMES
  29. freetype/config/ftheader.h
  30. config/ftheader.h
  31. HINTS
  32. ENV FreetypePath${_lib_suffix}
  33. ENV FreetypePath
  34. ENV FREETYPE_DIR
  35. ${_FREETYPE_INCLUDE_DIRS}
  36. PATHS
  37. /usr/include /usr/local/include /opt/local/include /sw/include
  38. PATH_SUFFIXES
  39. freetype2 include/freetype2 include)
  40. find_library(FREETYPE_LIB
  41. NAMES ${_FREETYPE_LIBRARIES} freetype libfreetype
  42. HINTS
  43. ENV FreetypePath${_lib_suffix}
  44. ENV FreetypePath
  45. ENV FREETYPE_DIR
  46. ${_FREETYPE_LIBRARY_DIRS}
  47. PATHS
  48. /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  49. PATH_SUFFIXES
  50. lib${_lib_suffix} lib
  51. libs${_lib_suffix} libs
  52. bin${_lib_suffix} bin
  53. ../lib${_lib_suffix} ../lib
  54. ../libs${_lib_suffix} ../libs
  55. ../bin${_lib_suffix} ../bin)
  56. if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
  57. set(FREETYPE_INCLUDE_DIR "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
  58. list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIR)
  59. else()
  60. unset(FREETYPE_INCLUDE_DIR)
  61. endif()
  62. include(FindPackageHandleStandardArgs)
  63. find_package_handle_standard_args(Freetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
  64. mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_LIB)
  65. if(FREETYPE_FOUND)
  66. set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
  67. set(FREETYPE_LIBRARIES ${FREETYPE_LIB})
  68. endif()