Added missing dependency Harfbuzz to GTK3

This commit is contained in:
Xavier Del Campo Romero 2020-05-20 18:59:35 +02:00
parent 62467b8687
commit 90fb1eb4e7
2 changed files with 60 additions and 1 deletions

View File

@ -35,7 +35,8 @@ set(GTK3_DEPS
GDK3
Pango
Cairo
GDKPixbuf)
GDKPixbuf
Harfbuzz)
if(PKG_CONFIG_FOUND)
pkg_search_module(GTK3_PKG QUIET gtk+-3.0)

58
cmake/FindHarfbuzz.cmake Normal file
View File

@ -0,0 +1,58 @@
find_package(PkgConfig)
set(Harfbuzz_DEPS)
if(PKG_CONFIG_FOUND)
pkg_search_module(Harfbuzz_PKG harfbuzz)
endif()
find_library(Harfbuzz_LIBRARY harfbuzz HINTS ${Harfbuzz_PKG_LIBRARY_DIRS})
set(Harfbuzz harfbuzz)
if(Harfbuzz_LIBRARY)
add_library(${Harfbuzz} SHARED IMPORTED)
set_property(TARGET ${Harfbuzz} PROPERTY IMPORTED_LOCATION "${Harfbuzz_LIBRARY}")
set_property(TARGET ${Harfbuzz} PROPERTY INTERFACE_COMPILE_OPTIONS "${Harfbuzz_PKG_CFLAGS_OTHER}")
set(Harfbuzz_INCLUDE_DIRS)
find_path(Harfbuzz_INCLUDE_DIR "hb.h"
HINTS ${Harfbuzz_PKG_INCLUDE_DIRS})
if(Harfbuzz_INCLUDE_DIR)
file(STRINGS "${Harfbuzz_INCLUDE_DIR}/hb-version.h" HB_VERSION_MAJOR REGEX "^#define HB_VERSION_MAJOR +\\(?([0-9]+)\\)?$")
string(REGEX REPLACE "^#define HB_VERSION_MAJOR \\(?([0-9]+)\\)?$" "\\1" HB_VERSION_MAJOR "${HB_VERSION_MAJOR}")
file(STRINGS "${Harfbuzz_INCLUDE_DIR}/hb-version.h" HB_VERSION_MINOR REGEX "^#define HB_VERSION_MINOR +\\(?([0-9]+)\\)?$")
string(REGEX REPLACE "^#define HB_VERSION_MINOR \\(?([0-9]+)\\)?$" "\\1" HB_VERSION_MINOR "${HB_VERSION_MINOR}")
file(STRINGS "${Harfbuzz_INCLUDE_DIR}/hb-version.h" HB_VERSION_MICRO REGEX "^#define HB_VERSION_MICRO +\\(?([0-9]+)\\)?$")
string(REGEX REPLACE "^#define HB_VERSION_MICRO \\(?([0-9]+)\\)?$" "\\1" HB_VERSION_MICRO "${HB_VERSION_MICRO}")
set(Harfbuzz_VERSION "${HB_VERSION_MAJOR}.${HB_VERSION_MINOR}.${HB_VERSION_MICRO}")
unset(HB_VERSION_MAJOR)
unset(HB_VERSION_MINOR)
unset(HB_VERSION_MICRO)
list(APPEND Harfbuzz_INCLUDE_DIRS ${Harfbuzz_INCLUDE_DIR})
set_property(TARGET ${Harfbuzz} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${Harfbuzz_INCLUDE_DIR}")
endif()
endif()
set(Harfbuzz_DEPS_FOUND_VARS)
foreach(harfbuzz_dep ${Harfbuzz_DEPS})
find_package(${harfbuzz_dep})
list(APPEND Harfbuzz_DEPS_FOUND_VARS "${harfbuzz_dep}_FOUND")
list(APPEND Harfbuzz_INCLUDE_DIRS ${${harfbuzz_dep}_INCLUDE_DIRS})
set_property (TARGET ${Harfbuzz} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${${harfbuzz_dep}}")
endforeach(harfbuzz_dep)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Harfbuzz
REQUIRED_VARS
Harfbuzz_LIBRARY
Harfbuzz_INCLUDE_DIRS
${Harfbuzz_DEPS_FOUND_VARS}
VERSION_VAR
Harfbuzz_VERSION)
unset(Harfbuzz_DEPS_FOUND_VARS)