wayland_scanner_bin = find_program('wayland-scanner') #make it typo proof _wayland_protocols = dependency('wayland-protocols') wayland_client = dependency('wayland-client') wl_protocol_local = [ 'efl-aux-hints.xml', 'efl-hints.xml', 'session-recovery.xml' ] wl_unstable_protocol_sys = [ join_paths('xdg-shell', 'xdg-shell-unstable-v6.xml'), join_paths('linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'), join_paths('text-input', 'text-input-unstable-v1.xml'), ] wl_stable_protocol_sys = [ join_paths('xdg-shell', 'xdg-shell.xml'), ] foreach sys_protocol : wl_unstable_protocol_sys wl_protocol_local += [ join_paths(_wayland_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable', sys_protocol)] endforeach foreach sys_protocol : wl_stable_protocol_sys wl_protocol_local += [ join_paths(_wayland_protocols.get_pkgconfig_variable('pkgdatadir'), 'stable', sys_protocol)] endforeach gen_obj_c = [] gen_obj_header = [] foreach item : wl_protocol_local gen_obj_c += custom_target('wl_code_'+item.underscorify(), input: item, output : ['@BASENAME@-protocol.c'], command: [wayland_scanner_bin, ['private-code','@INPUT@','@OUTPUT@']] ) gen_obj_header += custom_target('wl_client_header_'+item.underscorify(), input: item, output : ['@BASENAME@-client-protocol.h'], command: [wayland_scanner_bin, ['client-header','@INPUT@','@OUTPUT@']] ) gen_obj_header += custom_target('wl_server_header_'+item.underscorify(), input: item, output : ['@BASENAME@-server-protocol.h'], command: [wayland_scanner_bin, ['server-header','@INPUT@','@OUTPUT@']] ) endforeach wayland_protocol_lib = static_library('wayland_protocol', gen_obj_c + gen_obj_header, ) wayland_protocol = declare_dependency( include_directories: include_directories('.'), link_with: wayland_protocol_lib, sources: gen_obj_header, dependencies : [wayland_client] ) wayland_protocol_simple = declare_dependency( include_directories: include_directories('.'), sources: gen_obj_header, )