- wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
- wayland_scanner_code_gen = generator(
- wayland_scanner,
- output: '@BASENAME@-protocol.c',
- arguments: ['code', '@INPUT@', '@OUTPUT@'],
- )
- wayland_scanner_client_header_gen = generator(
- wayland_scanner,
- output: '@BASENAME@-client-protocol.h',
- arguments: ['client-header', '@INPUT@', '@OUTPUT@'],
- )
- wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
- xdg_shell_xml = join_paths(wayland_protocols_datadir, 'stable/xdg-shell/xdg-shell.xml')
- xdg_shell_sources = [
- wayland_scanner_code_gen.process(xdg_shell_xml),
- wayland_scanner_client_header_gen.process(xdg_shell_xml),
- ]
- executable('interactive-wayland', 'test/interactive-wayland.c', xdg_shell_sources, dependencies: [test_dep, wayland_client_dep])
+ wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
+ wayland_scanner_code_gen = generator(
+ wayland_scanner,
+ output: '@BASENAME@-protocol.c',
+ arguments: ['code', '@INPUT@', '@OUTPUT@'],
+ )
+ wayland_scanner_client_header_gen = generator(
+ wayland_scanner,
+ output: '@BASENAME@-client-protocol.h',
+ arguments: ['client-header', '@INPUT@', '@OUTPUT@'],
+ )
+ wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+ xdg_shell_xml = join_paths(wayland_protocols_datadir, 'stable/xdg-shell/xdg-shell.xml')
+ xdg_shell_sources = [
+ wayland_scanner_code_gen.process(xdg_shell_xml),
+ wayland_scanner_client_header_gen.process(xdg_shell_xml),
+ ]
+ executable('xkbcli-interactive-wayland',
+ 'tools/interactive-wayland.c',
+ xdg_shell_sources,
+ dependencies: [tools_dep, wayland_client_dep],
+ install: true,
+ install_dir: dir_libexec)
+ man_pages += 'tools/xkbcli-interactive-wayland.1.ronn'
+ configh_data.set10('HAVE_XKBCLI_INTERACTIVE_WAYLAND', true)
+ endif
+
+ if get_option('enable-xkbregistry')
+ configh_data.set10('HAVE_XKBCLI_LIST', true)
+ executable('xkbcli-list',
+ 'tools/registry-list.c',
+ dependencies: dep_libxkbregistry,
+ install: true,
+ install_dir: dir_libexec)
+ man_pages += 'tools/xkbcli-list.1.ronn'
+ endif
+
+ # pytest finds files named test_foo_bar.py but not
+ # test-foo-bar.py, let's rename the source file so it only ever finds the
+ # built one.
+ config_tool_option_test = configuration_data()
+ config_tool_option_test.set('MESON_BUILD_ROOT', meson.current_build_dir())
+ tool_option_test = configure_file(input: 'tools/test-tool-option-parsing.py',
+ output: 'test_tool_option_parsing.py',
+ configuration : config_tool_option_test)
+ test('tool-option-parsing',
+ tool_option_test,
+ args: [tool_option_test, '-n', 'auto'])
+endif
+
+if get_option('enable-manpages')
+ prog_ronn = find_program('ronn', required: true)
+ foreach manpage : man_pages
+ # man page filenames adhere to directory/topic.section.ronn
+ topic = manpage.split('/')[-1].split('.')[-3]
+ section = manpage.split('.')[-2]
+ output = '@0@.@1@'.format(topic, section)
+ custom_target(output,
+ input: manpage,
+ output: output,
+ command: [prog_ronn, '--manual=libxkbcommon manual', '--pipe', '--roff', files(manpage)],
+ capture: true,
+ install: true,
+ install_dir: join_paths(dir_man, section))
+ endforeach