Commit Graph

167 Commits

Author SHA1 Message Date
Khaled Hosny 434c98d4c6 [meson] Add alias "lib" target
Fixes https://github.com/harfbuzz/harfbuzz/issues/4105
2023-02-07 10:06:13 +02:00
Khaled Hosny 7a714d1a8d [meson] Enable all checked for Cairo functions for internal Cairo
Similar to what we do with FreeType ones.
2023-01-27 03:16:54 +02:00
Matthias Clasen 30d0d9c56c Adapt to cairo changes
Adapt to the api in the cairo MR that will be used,
and make the code build with older cairo.
2023-01-26 14:32:25 -05:00
Matthias Clasen ac969fffa2 Update meson summary
Include builtin font callbacks and Cairo integration
in the configuration summary.
2023-01-24 17:08:51 -07:00
Khaled Hosny 67e652cd5d [meson] Update Cairo subproject 2023-01-21 14:04:49 -07:00
Khaled Hosny e1a0705128 [meson] Enabled needlessly disabled MSVC warnings
We don’t seem to hot any of these warnings currently.
2023-01-21 15:27:56 +02:00
Khaled Hosny f96e32a0aa [meson] Try to make MSVC build less spammy
Enable exceptions in ragel subproject, and revert the exceptions part of:

commit 22cbd038d3
Author: Khaled Hosny <khaled@aliftype.com>
Date:   Tue Sep 14 12:34:25 2021 +0200

    [meson] Add ragel subproject

To get ride of the following warnings:

cl : Command line warning D9025 : overriding '/EHs' with '/EHs-'
2023-01-21 15:27:56 +02:00
Behdad Esfahbod 10def9b3df meson fix 2023-01-20 14:06:18 -07:00
Behdad Esfahbod f21b15dcc3 [hb-view] Update to alternative cairo custom-palette API 2023-01-20 13:57:39 -07:00
Behdad Esfahbod 3bcf153ad8 Change library numbering scheme
Fixes https://github.com/harfbuzz/harfbuzz/issues/1431
2023-01-06 15:51:35 -07:00
Khaled Hosny afcae83a06 6.0.0 2022-12-16 23:35:26 +02:00
Khaled Hosny 6add69a6ec [hb-view] Allow building without cairo-ft
Fixes https://github.com/harfbuzz/harfbuzz/issues/3925
2022-12-16 21:10:15 +02:00
Eli Schwartz 604fe80707 meson: fix regression in detecting freetype2/icu-uc when explicitly disabled
In #3811 / commit 53a194aa3f a broken and
half-implemented approach to kind of sort of handling the detection of
both pkg-config and cmake names for dependencies, was implemented. It
just checked for both versions with required: false, but when the build
was configured with *disabled* options, it was still found because it
was treated as auto.

Really, the problem here is trying to outsmart Meson, which handles a
lot of edge cases correctly. But it's possible, albeit very wordy, to
manually implement Meson's internal logic via if/else fallbacks. Do so
here.
2022-11-08 18:32:41 -07:00
Khaled Hosny 970321db7b 5.3.1 2022-10-19 22:06:46 +02:00
Khaled Hosny 3ce4b8f5c9 5.3.0 2022-10-08 19:10:07 +02:00
Khaled Hosny 4a1d891c63 5.2.0 2022-09-17 03:19:29 +02:00
Xavier Claessens 53a194aa3f meson: Fix freetype and icu dependency lookup
It is wrong to search for a different name depending on the compiler. If
anything, cmake name could be available on systems that uses GCC too.

This also fix regression in the usage of freetype subproject fallback as
its name is "freetype2" and was previously used even when the
"freetype" option was set to "auto".
2022-09-08 09:43:41 -06:00
Khaled Hosny 16bfe6536b [meson] use cpp.get_argument_syntax not cpp.get_id
To account for both MSVC and clang-cl.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
2022-08-03 00:07:40 +02:00
Khaled Hosny f1f2be776b 5.1.0 2022-07-31 15:48:32 +02:00
Khaled Hosny cbccadba8d 5.0.1 2022-07-23 22:09:06 +02:00
Khaled Hosny 40b21edf48 5.0.0 2022-07-23 19:53:14 +02:00
Khaled Hosny e294200dac [ft] Check for FT_Get_Transform at build time 2022-07-15 21:59:33 +02:00
Luca Bacci 1abc14b463 Do not link with the DWrite lib
It's loaded dynamically now
2022-07-06 17:55:39 +02:00
Khaled Hosny 096aaa62a6 4.4.1 2022-06-29 07:30:05 +02:00
Khaled Hosny 8537d68172 4.4.0 2022-06-27 20:51:16 +02:00
Khaled Hosny aee123fc83 4.3.0 2022-05-20 21:07:25 +02:00
Khaled Hosny f7aee78e90 4.2.1 2022-04-24 05:47:57 +02:00
Khaled Hosny 9d5730b958 4.2.0 2022-03-30 15:08:34 +02:00
Khaled Hosny c36844d6d9 4.1.0 2022-03-23 07:20:59 +02:00
Khaled Hosny 1f79ba9407 4.0.1 2022-03-11 20:19:04 +02:00
Khaled Hosny 8d1b000a3e 4.0.0 2022-03-01 21:27:32 +02:00
James Hilliard 256dcde149 [meson] handle multiple element ICU DEFS 2022-02-21 00:07:03 -07:00
Chun-wei Fan f0573d8462 meson: Clean up finding ICU-UC on Visual Studio
Nowadays Meson has much better CMake support which we can use to find
dependencies on Visual Studio builds (and Visual Studio 2017 and later provides
CMake as an optional install item), so we can use it to help us find ICU-UC
on Visual Studio builds, since CMake has built-in support for finding it by
the components we need for some time.
2022-02-17 15:06:49 +08:00
Chun-wei Fan 561e8ba887 meson: Cleanup finding FreeType on Visual Studio
Nowadays, CMake is much better supported with Meson and is a common tool on
Windows (it is even an optionally-installed item for Visual Studio 2017+), so
make use of that to find FreeType.  The package to search for, however, is
`freetype` instead of `freetype2`.
2022-02-17 14:19:35 +08:00
Khaled Hosny 74ebfc646a [meson] Update cairo subproject
Update to the current master branch so that is has
cairo_user_font_face_set_render_color_glyph_func().

I had to disable optimized builds on win[32|64] crossbuild setups
because they are now broken in the CI (something about cairo defining
_FORTIFY_SOURCE for optimized builds that MingW does not like).
2022-02-13 13:21:14 -06:00
Behdad Esfahbod 8f519d55ac [meson] Put back Experimental-API infrastructure
Just unused for now.
2022-02-13 13:21:14 -06:00
Khaled Hosny cf28821337 [meson] fix building with Cairo subproject
We can’t pass internal (subproject) dependency to cpp.has_function(), so
we manually hard-code the result.
2022-02-13 13:21:14 -06:00
Behdad Esfahbod cfc06c24d5 [util/draw] Render color glyphs if cairo API available 2022-02-13 13:21:14 -06:00
Behdad Esfahbod e0ac6c587b Remove remaining traces of HB_EXPERIMENTAL_API 2022-02-13 13:21:14 -06:00
Khaled Hosny 0a12996134 3.4.0 2022-02-13 00:30:50 +02:00
Chun-wei Fan 3d22dae5f8 meson.build: Only use get_variable() on icu_dep with pkgconfig
We might have found ICU via the .lib names, and get_variable() is only
available for pkg-config deps.
2022-02-10 14:42:08 -06:00
Khaled Hosny ac46c3248e 3.3.2 2022-02-06 15:41:18 +02:00
Khaled Hosny 45df259538 3.3.1 2022-01-31 23:06:10 +02:00
Khaled Hosny 98da330638 3.3.0 2022-01-31 18:39:06 +02:00
Hugo Beauzée-Luyssen 17cd4457b7 meson: Enable big objects support when building for windows
Fix cross compilation when targetting win64
2022-01-19 06:53:45 -08:00
James Hilliard daab4bf63a [meson] add icu DEFS required for compilation
In some cases we need to add additionl defs to build against icu if
icu has certain options configured.

ICU warns about this when building:

*** WARNING: You must set the following flags before code compiled against this ICU will function properly:

    -DU_DISABLE_RENAMING=1

We can fetch these flags from the icu pkgconfig and add them if
required.

This fixes symbol errors if ICU is built without renaming.
2022-01-18 11:36:40 -08:00
Jussi Pakkanen 726b1a8b2d Convert fallback kwargs to [provide] entries. 2022-01-13 13:25:16 -08:00
Behdad Esfahbod a45a630539
Fix unintentional locale dependency (#3358)
Avoid unintentional locale dependency

hb_variation_to_string uses sprintf with %g, which will produce
a locale-dependent decimal point, which is not desired here.

The output is supposed to be compatible with CSS syntax, and
that always uses '.' for the decimal point.

Fix this by changing the per-thread locale to "C" around sprintf call.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3355
Fixes https://github.com/harfbuzz/harfbuzz/pull/3357
Fixes https://github.com/harfbuzz/harfbuzz/pull/3358

Co-authored-by: Matthias Clasen <mclasen@redhat.com>
2022-01-08 16:47:33 -07:00
Khaled Hosny be91d2917d 3.2.0 2021-12-12 04:45:54 +02:00
Khaled Hosny 549e2b7038 Revert "Remove direct link to dwrite from meson scripts"
This reverts commit 6ea6c581ed.
2021-12-01 19:55:48 +02:00