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)
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)
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})
42 if(HarfBuzz_FIND_REQUIRED)
43 message(FATAL_ERROR "Harfbuzz libraries were not found.")