summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2017-03-19 20:50:58 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2017-05-03 15:10:54 +0100
commit4b969b1b405c9babecce598c1f81b29a7159a32c (patch)
tree86ef6cc2f2444d4db97488853e5ad3de2c993222
parent22d7b825fb6ec0e464e3e7c39201d2c67fdc143e (diff)
downloadgtk+-4b969b1b405c9babecce598c1f81b29a7159a32c.tar.gz
meson: gdk: wayland: use array for protocol file generation
-rw-r--r--gdk/wayland/meson.build132
1 files changed, 33 insertions, 99 deletions
diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build
index 34cc6bb7a0..92f0386ab8 100644
--- a/gdk/wayland/meson.build
+++ b/gdk/wayland/meson.build
@@ -1,111 +1,45 @@
-if wayland_enabled
- runcmd = run_command('pkg-config', '--variable=pkgdatadir', 'wayland-protocols')
- if runcmd.returncode() == 0
- wayland_protocols_datadir = runcmd.stdout().strip() + '/'
- else
- error('Could not get wayland-protocols pkgdatadir via pkg-config.')
- endif
+proto_dir = dependency('wayland-protocols').get_pkgconfig_variable('pkgdatadir')
+assert(proto_dir != '', 'Could not get pkgdatadir from wayland-protocols.pc')
- wayland_scanner = find_program('wayland-scanner')
- genprotocols = find_program('genprotocolfiles.py')
+wayland_scanner = find_program('wayland-scanner')
+genprotocols = find_program('genprotocolfiles.py')
- gtk_shell_h = custom_target(
- 'gtk shell protocol header',
- input : 'protocol/gtk-shell.xml',
- output : 'gtk-shell-client-protocol.h',
- command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'client-header']
- )
+proto_sources = [
+ ['gtk-shell',
+ 'protocol/gtk-shell.xml'],
- gtk_shell_c = custom_target(
- 'gtk shell protocol source',
- input : 'protocol/gtk-shell.xml',
- output : 'gtk-shell-protocol.c',
- command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'code']
- )
+ ['gtk-primary-selection',
+ 'protocol/gtk-primary-selection.xml'],
- pointer_gestures_h = custom_target(
- 'pointer gestures header',
- input : wayland_protocols_datadir + 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml',
- output : 'pointer-gestures-unstable-v1-client-protocol.h',
- command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'client-header']
- )
+ ['pointer-gestures-unstable-v1',
+ join_paths(proto_dir, 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml')],
- pointer_gestures_c = custom_target(
- 'pointer gestures source',
- input : wayland_protocols_datadir + 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml',
- output : 'pointer-gestures-unstable-v1-protocol.c',
- command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'code']
- )
+ ['xdg-shell-unstable-v6',
+ join_paths(proto_dir, 'unstable/xdg-shell/xdg-shell-unstable-v6.xml')],
- primary_selection_h = custom_target(
- 'primary selection header',
- input : 'protocol/gtk-primary-selection.xml',
- output : 'gtk-primary-selection-client-protocol.h',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header']
- )
+ ['xdg-foreign-unstable-v1',
+ join_paths(proto_dir, 'unstable/xdg-foreign/xdg-foreign-unstable-v1.xml')],
- primary_selection_c = custom_target(
- 'primary selection source',
- input : 'protocol/gtk-primary-selection.xml',
- output : 'gtk-primary-selection-protocol.c',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code']
- )
+ ['tablet-unstable-v2',
+ join_paths(proto_dir, 'unstable/tablet/tablet-unstable-v2.xml')],
+]
- xdg_shell_h = custom_target(
- 'xdg shell v6 header',
- input : wayland_protocols_datadir + 'unstable/xdg-shell/xdg-shell-unstable-v6.xml',
- output : 'xdg-shell-unstable-v6-client-protocol.h',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header']
- )
+wayland_proto_targets = []
+foreach p : proto_sources
+ output_base = p[0]
+ input = p[1]
- xdg_shell_c = custom_target(
- 'xdg shell v6 source',
- input : wayland_protocols_datadir + 'unstable/xdg-shell/xdg-shell-unstable-v6.xml',
- output : 'xdg-shell-unstable-v6-protocol.c',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code']
- )
+ hdr = custom_target('@0@ client header'.format(output_base),
+ input : input,
+ output : '@0@-client-protocol.h'.format(output_base),
+ command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'client-header'])
- xdg_foreign_h = custom_target(
- 'xdg foreign v1 header',
- input : wayland_protocols_datadir + 'unstable/xdg-foreign/xdg-foreign-unstable-v1.xml',
- output : 'xdg-foreign-unstable-v1-client-protocol.h',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header']
- )
+ src = custom_target('@0@ source'.format(output_base),
+ input : input,
+ output : '@0@-protocol.c'.format(output_base),
+ command: [genprotocols, wayland_scanner, '@INPUT@', '@OUTPUT@', 'code'])
- xdg_foreign_c = custom_target(
- 'xdg foreign v1 source',
- input : wayland_protocols_datadir + 'unstable/xdg-foreign/xdg-foreign-unstable-v1.xml',
- output : 'xdg-foreign-unstable-v1-protocol.c',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code']
- )
+ wayland_proto_targets += [hdr, src]
+endforeach
- tablet_h = custom_target(
- 'tablet v2 header',
- input : wayland_protocols_datadir + 'unstable/tablet/tablet-unstable-v2.xml',
- output : 'tablet-unstable-v2-client-protocol.h',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'client-header']
- )
-
- tablet_c = custom_target(
- 'tablet v2 source',
- input : wayland_protocols_datadir + 'unstable/tablet/tablet-unstable-v2.xml',
- output : 'tablet-unstable-v2-protocol.c',
- command: [genprotocols, wayland_scanner,'@INPUT@', '@OUTPUT@', 'code']
- )
-
- gdk_sources += [
- gtk_shell_c,
- gtk_shell_h,
- pointer_gestures_h,
- pointer_gestures_c,
- primary_selection_h,
- primary_selection_c,
- xdg_shell_h,
- xdg_shell_c,
- xdg_foreign_h,
- xdg_foreign_c,
- tablet_h,
- tablet_c
- ]
-
-endif
+gdk_sources += wayland_proto_targets