>From d7f090759a0389ef9da2bcce684c30ff0e35e38e Mon Sep 17 00:00:00 2001 From: Nikolaus Waxweiler Date: Sun, 8 Apr 2018 01:29:28 +0100 Subject: [PATCH 1/3] FindHarfBuzz.cmake: Make work on CMake 2.8.12; export library on >= 3.1 Modern CMake Find* files export a library that targets can be simply linked against without messing with definitions, include directories, etc. Make such a library available in CMake >= 3.1 should we switch to it one day. --- builds/cmake/FindHarfBuzz.cmake | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/builds/cmake/FindHarfBuzz.cmake b/builds/cmake/FindHarfBuzz.cmake index c8444d325..96ecfd9a2 100644 --- a/builds/cmake/FindHarfBuzz.cmake +++ b/builds/cmake/FindHarfBuzz.cmake @@ -54,16 +54,28 @@ if (HARFBUZZ_INCLUDE_DIRS) endif () endif () -if ("${Harfbuzz_FIND_VERSION}" VERSION_GREATER "${HARFBUZZ_VERSION}") +if ("${harfbuzz_FIND_VERSION}" VERSION_GREATER "${HARFBUZZ_VERSION}") message(FATAL_ERROR "Required version (" ${Harfbuzz_FIND_VERSION} ") is higher than found version (" ${CAIRO_VERSION} ")") endif () include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Harfbuzz REQUIRED_VARS HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES - VERSION_VAR HARFBUZZ_VERSION) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + harfbuzz + REQUIRED_VARS HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES + VERSION_VAR HARFBUZZ_VERSION) mark_as_advanced( HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES - HARFBUZZ_ICU_LIBRARIES ) + +# Allows easy linking as in +# target_link_libraries(freetype PRIVATE Harfbuzz::Harfbuzz) +if (NOT CMAKE_VERSION VERSION_LESS 3.1) + if (HARFBUZZ_FOUND AND NOT TARGET Harfbuzz::Harfbuzz) + add_library(Harfbuzz::Harfbuzz INTERFACE IMPORTED) + set_target_properties( + Harfbuzz::Harfbuzz PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIRS}") + endif () +endif () -- 2.14.3