harfbuzz/util/meson.build
Christoph Reiter 03bd6ead44 [meson] Only pass required dependencies to everything
Instead of passing dependencies as required we used one giant shared
dependency list containing all dependencies for every library/executable.
While this kinda works, the specified deps are also used for generating
the pkg-config files and this leads to lots of Requires.private and Libs.private
entries which aren't really needed.

This removes the "deps" array and replaces it with a few smaller ones and
makes sure the public libraries only get passed the dependencies actually
needed.

Fixes #2441
2020-06-04 23:28:57 +04:30

68 lines
1.5 KiB
Meson

hb_view_sources = [
'hb-view.cc',
'options.cc',
'ansi-print.cc',
'helper-cairo.cc',
'helper-cairo-ansi.cc',
'view-cairo.cc',
]
hb_shape_sources = [
'hb-shape.cc',
'options.cc',
]
hb_ot_shape_closure_sources = [
'hb-ot-shape-closure.cc',
'options.cc',
]
hb_subset_cli_sources = [
'hb-subset.cc',
'options.cc',
'options-subset.cc',
]
util_deps = [freetype_dep, cairo_dep, cairo_ft_dep, glib_dep]
if conf.get('HAVE_GLIB', 0) == 1
if conf.get('HAVE_FREETYPE', 0) == 1 and conf.get('HAVE_CAIRO_FT', 0) == 1
hb_view = executable('hb-view', hb_view_sources,
cpp_args: cpp_args,
include_directories: [incconfig, incsrc],
dependencies: util_deps,
link_with: [libharfbuzz],
install: true,
)
endif
hb_shape = executable('hb-shape', hb_shape_sources,
cpp_args: cpp_args,
include_directories: [incconfig, incsrc],
dependencies: util_deps,
link_with: [libharfbuzz],
install: true,
)
hb_subset = executable('hb-subset', hb_subset_cli_sources,
cpp_args: cpp_args,
include_directories: [incconfig, incsrc],
dependencies: util_deps,
link_with: [libharfbuzz, libharfbuzz_subset],
install: true,
)
hb_ot_shape_closure = executable('hb-ot-shape-closure', hb_ot_shape_closure_sources,
cpp_args: cpp_args,
include_directories: [incconfig, incsrc],
dependencies: util_deps,
link_with: [libharfbuzz],
install: true,
)
else
# Disable tests that use this
hb_shape = disabler()
hb_subset = disabler()
endif