Merge pull request #4650 from fanc999-1/freetype-cmake

Meson: Use actual FreeType version when using CMake
pull/4741/head
خالد حسني (Khaled Hosny) 9 months ago committed by GitHub
commit f5d88951c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 23
      meson.build

@ -14,7 +14,9 @@ cairo_min_version = '>= 1.10.0'
chafa_min_version = '>= 1.6.0'
icu_min_version = '>= 49.0'
graphite2_min_version = '>= 1.2.0'
freetype_min_version = '>= 12.0.6'
freetype_min_version_actual = '>= 2.4.2'
freetype_min_version = '>= 12.0.6' # Corresponds to `freetype_min_version_actual`
hb_version_arr = meson.project_version().split('.')
hb_version_major = hb_version_arr[0].to_int()
@ -101,12 +103,21 @@ check_funcs = [
m_dep = cpp.find_library('m', required: false)
if meson.version().version_compare('>=0.60.0')
# Sadly, FreeType's versioning schemes are different between pkg-config and CMake
# pkg-config: freetype2, cmake: Freetype
freetype_dep = dependency('freetype2', 'Freetype',
freetype_dep = dependency('freetype2',
version: freetype_min_version,
required: get_option('freetype'),
default_options: ['harfbuzz=disabled'],
allow_fallback: true)
method: 'pkg-config',
required: false,
allow_fallback: false)
if not freetype_dep.found()
freetype_dep = dependency('FreeType',
version: freetype_min_version_actual,
method: 'cmake',
required: get_option('freetype'),
default_options: ['harfbuzz=disabled'],
allow_fallback: true)
endif
else
# painful hack to handle multiple dependencies but also respect options
freetype_opt = get_option('freetype')
@ -119,7 +130,7 @@ else
# when disabled, leave it not-found
if not freetype_dep.found() and not get_option('freetype').disabled()
# Try cmake name
freetype_dep = dependency('Freetype', version: freetype_min_version, method: 'cmake', required: false)
freetype_dep = dependency('Freetype', version: freetype_min_version_actual, method: 'cmake', required: false)
# Subproject fallback, `allow_fallback: true` means the fallback will be
# tried even if the freetype option is set to `auto`.
if not freetype_dep.found()

Loading…
Cancel
Save