[meson] Disable FreeType in HarfBuzz fallback.

This avoids cyclic subproject configuration when the 'harfbuzz' feature is
enabled, or `--wrap-mode=forcefallback` is used, but HarfBuzz is built as a
subproject.  HarfBuzz does the same and disables HarfBuzz support when
configuring FreeType as a subproject.

* meson.build (harfbuzz_dep): Implement it.

* subprojects/harfbuzz.wrap: New file.

* .gitlab-ci.yml [windows meson]: Use latest version of the meson 0.59
  series, which has a necessary bug fix to make CI work.
This commit is contained in:
Xavier Claessens 2022-05-27 11:26:30 -04:00 committed by Werner Lemberg
parent 47103b2f19
commit b861b24157
3 changed files with 15 additions and 2 deletions

View File

@ -47,7 +47,7 @@ variables:
- Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst"
# Make sure meson is up to date so we don't need to rebuild the image
# with each release.
- pip3 install meson==0.59.1
- pip3 install 'meson==0.59.*'
- pip3 install --upgrade certifi
- pip3 install -U ninja

View File

@ -335,7 +335,8 @@ endif
# Harfbuzz support
harfbuzz_dep = dependency('harfbuzz',
version: '>= 2.0.0',
required: get_option('harfbuzz'))
required: get_option('harfbuzz'),
default_options: ['freetype=disabled'])
if harfbuzz_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']

12
subprojects/harfbuzz.wrap Normal file
View File

@ -0,0 +1,12 @@
[wrap-file]
directory = harfbuzz-4.3.0
source_url = https://github.com/harfbuzz/harfbuzz/releases/download/4.3.0/harfbuzz-4.3.0.tar.xz
source_filename = harfbuzz-4.3.0.tar.xz
source_hash = a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530
[provide]
harfbuzz = libharfbuzz_dep
harfbuzz-subset = libharfbuzz_subset_dep
harfbuzz-icu = libharfbuzz_icu_dep
harfbuzz-gobject = libharfbuzz_gobject_dep