aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfuzzard <fuzzard@kodi.tv>2023-09-05 17:58:05 +1000
committerfuzzard <fuzzard@kodi.tv>2023-09-11 09:52:57 +1000
commit4f532d3fb9fbff83f655634612e15297fbd1cbf6 (patch)
tree9158c956ac90fd76b2957661937ba00dd1d75c44
parent327fd819622980f578ebe1a40b9f0520d933712f (diff)
[cmake] FindHarfBuzz migrate to full TARGET usage
-rw-r--r--cmake/modules/FindHarfBuzz.cmake49
1 files changed, 21 insertions, 28 deletions
diff --git a/cmake/modules/FindHarfBuzz.cmake b/cmake/modules/FindHarfBuzz.cmake
index 6691136bbb..44b291c9b8 100644
--- a/cmake/modules/FindHarfBuzz.cmake
+++ b/cmake/modules/FindHarfBuzz.cmake
@@ -3,44 +3,37 @@
# ------------
# Finds the HarfBuzz library
#
-# This will define the following variables::
-#
-# HARFBUZZ_FOUND - system has HarfBuzz
-# HARFBUZZ_INCLUDE_DIRS - the HarfBuzz include directory
-# HARFBUZZ_LIBRARIES - the HarfBuzz libraries
-#
-# and the following imported targets::
+# This will define the following target:
#
# HarfBuzz::HarfBuzz - The HarfBuzz library
-if(PKG_CONFIG_FOUND)
- pkg_check_modules(PC_HARFBUZZ harfbuzz QUIET)
-endif()
-
-find_path(HARFBUZZ_INCLUDE_DIR NAMES harfbuzz/hb-ft.h hb-ft.h
- PATHS ${PC_HARFBUZZ_INCLUDEDIR}
- ${PC_HARFBUZZ_INCLUDE_DIRS}
- PATH_SUFFIXES harfbuzz)
-find_library(HARFBUZZ_LIBRARY NAMES harfbuzz harfbuzz
- PATHS ${PC_HARFBUZZ_LIBDIR})
+if(NOT TARGET HarfBuzz::HarfBuzz)
+ find_package(PkgConfig)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_HARFBUZZ harfbuzz QUIET)
+ endif()
-set(HARFBUZZ_VERSION ${PC_HARFBUZZ_VERSION})
+ find_path(HARFBUZZ_INCLUDE_DIR NAMES harfbuzz/hb-ft.h hb-ft.h
+ HINTS ${PC_HARFBUZZ_INCLUDEDIR}
+ ${PC_HARFBUZZ_INCLUDE_DIRS}
+ PATH_SUFFIXES harfbuzz
+ NO_CACHE)
+ find_library(HARFBUZZ_LIBRARY NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBDIR}
+ NO_CACHE)
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(HarfBuzz
- REQUIRED_VARS HARFBUZZ_LIBRARY HARFBUZZ_INCLUDE_DIR
- VERSION_VAR HARFBUZZ_VERSION)
+ set(HARFBUZZ_VERSION ${PC_HARFBUZZ_VERSION})
-if(HARFBUZZ_FOUND)
- set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
- set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR})
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(HarfBuzz
+ REQUIRED_VARS HARFBUZZ_LIBRARY HARFBUZZ_INCLUDE_DIR
+ VERSION_VAR HARFBUZZ_VERSION)
- if(NOT TARGET HarfBuzz::HarfBuzz)
+ if(HARFBUZZ_FOUND)
add_library(HarfBuzz::HarfBuzz UNKNOWN IMPORTED)
set_target_properties(HarfBuzz::HarfBuzz PROPERTIES
IMPORTED_LOCATION "${HARFBUZZ_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}")
+ set_property(GLOBAL APPEND PROPERTY INTERNAL_DEPS_PROP HarfBuzz::HarfBuzz)
endif()
endif()
-
-mark_as_advanced(HARFBUZZ_INCLUDE_DIR HARFBUZZ_LIBRARY)