meson.build (1892B)
1 wayland_protocols_dir = wayland_protocols.get_pkgconfig_variable('pkgdatadir') 2 wayland_scanner_bin = wayland_scanner.get_pkgconfig_variable('wayland_scanner') 3 4 protocols_server = [ 5 wayland_protocols_dir / 'stable/xdg-shell/xdg-shell.xml', 6 'kiwmi-ipc.xml', 7 'wlr-layer-shell-unstable-v1.xml', 8 ] 9 10 protocols_server_src = [] 11 protocols_server_inc = [] 12 13 foreach protocol : protocols_server 14 protocols_server_src += custom_target( 15 protocol.underscorify() + '_server_c', 16 input: protocol, 17 output: '@BASENAME@-protocol.c', 18 command: [wayland_scanner_bin, 'private-code', '@INPUT@', '@OUTPUT@'], 19 ) 20 21 protocols_server_inc += custom_target( 22 protocol.underscorify() + '_server_h', 23 input: protocol, 24 output: '@BASENAME@-protocol.h', 25 command: [wayland_scanner_bin, 'server-header', '@INPUT@', '@OUTPUT@'], 26 ) 27 endforeach 28 29 protocols_server_lib = static_library( 30 'protocols_server', 31 [protocols_server_src, protocols_server_inc], 32 ) 33 34 protocols_server = declare_dependency( 35 link_with: protocols_server_lib, 36 sources: protocols_server_inc, 37 ) 38 39 protocols_client = [ 40 'kiwmi-ipc.xml', 41 ] 42 43 protocols_client_src = [] 44 protocols_client_inc = [] 45 46 foreach protocol : protocols_client 47 protocols_client_src += custom_target( 48 protocol.underscorify() + '_client_c', 49 input: protocol, 50 output: '@BASENAME@-client-protocol.c', 51 command: [wayland_scanner_bin, 'private-code', '@INPUT@', '@OUTPUT@'], 52 ) 53 54 protocols_client_inc += custom_target( 55 protocol.underscorify() + '_client_h', 56 input: protocol, 57 output: '@BASENAME@-client-protocol.h', 58 command: [wayland_scanner_bin, 'client-header', '@INPUT@', '@OUTPUT@'], 59 ) 60 endforeach 61 62 protocols_client_lib = static_library( 63 'protocols_client', 64 [protocols_client_src, protocols_client_inc], 65 ) 66 67 protocols_client = declare_dependency( 68 link_with: protocols_client_lib, 69 sources: protocols_client_inc, 70 )