diff options
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/meson.build')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/meson.build | 62 |
1 files changed, 21 insertions, 41 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/meson.build b/Build/source/libs/harfbuzz/harfbuzz-src/meson.build index 3e64cba2d7a..7de42b88b2e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/meson.build +++ b/Build/source/libs/harfbuzz/harfbuzz-src/meson.build @@ -1,6 +1,6 @@ project('harfbuzz', 'c', 'cpp', meson_version: '>= 0.55.0', - version: '3.4.0', + version: '4.2.0', default_options: [ 'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway 'cpp_std=c++11', @@ -83,55 +83,30 @@ check_funcs = [ m_dep = cpp.find_library('m', required: false) -freetype_dep = null_dep -if not get_option('freetype').disabled() - freetype_dep = dependency('freetype2', required: false) - - if (not freetype_dep.found() and - cpp.get_id() == 'msvc' and - cpp.has_header('ft2build.h')) - freetype_dep = cpp.find_library('freetype', required: false) - endif - - if not freetype_dep.found() - # https://github.com/harfbuzz/harfbuzz/pull/2498 - freetype_dep = dependency('freetype2', required: get_option('freetype'), - default_options: ['harfbuzz=disabled']) - endif -endif +# https://github.com/harfbuzz/harfbuzz/pull/2498 +freetype_dep = dependency(cpp.get_argument_syntax() == 'msvc' ? 'freetype' : 'freetype2', + required: get_option('freetype'), + default_options: ['harfbuzz=disabled']) glib_dep = dependency('glib-2.0', required: get_option('glib')) gobject_dep = dependency('gobject-2.0', required: get_option('gobject')) graphite2_dep = dependency('graphite2', required: get_option('graphite2')) graphite_dep = dependency('graphite2', required: get_option('graphite')) -icu_dep = null_dep -if not get_option('icu').disabled() - icu_dep = dependency('icu-uc', required: false) - - if (not icu_dep.found() and - cpp.get_id() == 'msvc' and - cpp.has_header('unicode/uchar.h') and - cpp.has_header('unicode/unorm2.h') and - cpp.has_header('unicode/ustring.h') and - cpp.has_header('unicode/utf16.h') and - cpp.has_header('unicode/uversion.h') and - cpp.has_header('unicode/uscript.h')) - if get_option('buildtype') == 'debug' - icu_dep = cpp.find_library('icuucd', required: false) - else - icu_dep = cpp.find_library('icuuc', required: false) - endif - endif - - if not icu_dep.found() - icu_dep = dependency('icu-uc', required: get_option('icu')) - endif +if cpp.get_argument_syntax() == 'msvc' + icu_dep = dependency('ICU', + required: get_option('icu'), + components: 'uc', + method: 'cmake') +else + icu_dep = dependency('icu-uc', + required: get_option('icu'), + method: 'pkg-config') endif if icu_dep.found() and icu_dep.type_name() == 'pkgconfig' - icu_defs = icu_dep.get_variable(pkgconfig: 'DEFS', default_value: '') - if icu_defs != '' + icu_defs = icu_dep.get_variable(pkgconfig: 'DEFS', default_value: '').split() + if icu_defs.length() > 0 add_project_arguments(icu_defs, language: ['c', 'cpp']) endif endif @@ -186,6 +161,11 @@ endif if cairo_dep.found() conf.set('HAVE_CAIRO', 1) + if cairo_dep.type_name() == 'internal' + conf.set('HAVE_CAIRO_USER_FONT_FACE_SET_RENDER_COLOR_GLYPH_FUNC', 1) + else + check_funcs += [['cairo_user_font_face_set_render_color_glyph_func', {'deps': cairo_dep}]] + endif endif if cairo_ft_dep.found() |