Merge pull request #26350 from jjd-uk/estuary_media_align
[xbmc.git] / cmake / modules / FindHarfBuzz.cmake
blob7f78eb55e55f7aa0ae472f22ffa130155e16bc39
1 #.rst:
2 # FindHarfbuzz
3 # ------------
4 # Finds the HarfBuzz library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::HarfBuzz   - The HarfBuzz library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig QUIET)
12   if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
13     pkg_check_modules(PC_HARFBUZZ harfbuzz QUIET)
14   endif()
16   find_path(HARFBUZZ_INCLUDE_DIR NAMES harfbuzz/hb-ft.h hb-ft.h
17                                  HINTS ${DEPENDS_PATH}/include
18                                        ${PC_HARFBUZZ_INCLUDEDIR}
19                                        ${PC_HARFBUZZ_INCLUDE_DIRS}
20                                  ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
21   find_library(HARFBUZZ_LIBRARY NAMES harfbuzz
22                                 HINTS ${DEPENDS_PATH}/lib ${PC_HARFBUZZ_LIBDIR}
23                                 ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
25   set(HARFBUZZ_VERSION ${PC_HARFBUZZ_VERSION})
27   include(FindPackageHandleStandardArgs)
28   find_package_handle_standard_args(HarfBuzz
29                                     REQUIRED_VARS HARFBUZZ_LIBRARY HARFBUZZ_INCLUDE_DIR
30                                     VERSION_VAR HARFBUZZ_VERSION)
32   if(HARFBUZZ_FOUND)
33     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
34     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
35                                                                      IMPORTED_LOCATION "${HARFBUZZ_LIBRARY}"
36                                                                      INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}")
38     if(NOT TARGET harfbuzz::harfbuzz)
39       add_library(harfbuzz::harfbuzz ALIAS ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
40     endif()
41   else()
42     if(HarfBuzz_FIND_REQUIRED)
43       message(FATAL_ERROR "Harfbuzz libraries were not found.")
44     endif()
45   endif()
46 endif()