| hb_view_sources = [ |
| 'hb-view.cc', |
| ] |
| |
| hb_shape_sources = [ |
| 'hb-shape.cc', |
| ] |
| |
| hb_info_sources = [ |
| 'hb-info.cc', |
| ] |
| |
| hb_subset_cli_sources = [ |
| 'hb-subset.cc', |
| ] |
| |
| # If found, invoke it on our four binaries to build man pages |
| # If not found, just skip this step |
| if not get_option('docs').disabled() |
| help2man = find_program('help2man', required: false) |
| else |
| help2man = disabler() |
| endif |
| help2man_command = [help2man, '--help-option=--help-all', '--no-info', '--output=' + '@OUTPUT@', '@INPUT@'] |
| help2man_env = environment() |
| help2man_env.set('HB_UTIL_HELP_VERBOSE', '1') |
| |
| util_deps = [freetype_dep, cairo_dep, cairo_ft_dep, glib_dep] |
| |
| if conf.get('HAVE_GLIB', 0) == 1 |
| if conf.get('HAVE_CAIRO', 0) == 1 |
| hb_view = executable('hb-view', hb_view_sources, |
| cpp_args: cpp_args, |
| include_directories: [incconfig, incsrc], |
| dependencies: [util_deps, chafa_dep], |
| link_with: [libharfbuzz, libharfbuzz_cairo], |
| install: true, |
| ) |
| meson.override_find_program('hb-view', hb_view) |
| if help2man.found() |
| target = hb_view.name() + '.1' |
| hb_view_manpage = custom_target(target, |
| input: hb_view, |
| output: target, |
| command: help2man_command, |
| depends: [hb_view], |
| env: help2man_env, |
| install: true, |
| install_dir: get_option('mandir') / 'man1', |
| ) |
| endif |
| 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, |
| ) |
| meson.override_find_program('hb-shape', hb_shape) |
| |
| hb_info = executable('hb-info', [hb_info_sources, gobject_enums_h], |
| cpp_args: cpp_args, |
| include_directories: [incconfig, incsrc], |
| dependencies: [util_deps, libharfbuzz_gobject_dep, chafa_dep], |
| link_with: [libharfbuzz], |
| install: true, |
| ) |
| meson.override_find_program('hb-info', hb_info) |
| |
| 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, |
| ) |
| meson.override_find_program('hb-subset', hb_subset) |
| |
| if help2man.found() |
| foreach binary: [hb_shape, hb_info, hb_subset] |
| target = binary.name() + '.1' |
| manpage = custom_target(target, |
| input: binary, |
| output: target, |
| command: help2man_command, |
| depends: [binary], |
| env: help2man_env, |
| install: true, |
| install_dir: get_option('mandir') / 'man1', |
| ) |
| endforeach |
| endif |
| |
| if get_option('experimental_api') |
| test('test-hb-subset-parsing', |
| executable('test-hb-subset-parsing', |
| ['test-hb-subset-parsing.c'], |
| cpp_args: cpp_args, |
| c_args: ['-DHB_EXPERIMENTAL_API'], |
| include_directories: [incconfig, incsrc], |
| dependencies: util_deps, |
| link_with: [libharfbuzz, libharfbuzz_subset], |
| install: false, |
| ), |
| workdir : meson.current_source_dir(), |
| suite: ['util']) |
| endif |
| else |
| # Disable tests that use this |
| hb_shape = disabler() |
| hb_subset = disabler() |
| endif |