main shrub/neuswc / libswc / meson.build
 1install_headers('swc.h')
 2
 3libswc_src = files(
 4  'bindings.c',
 5  'compositor.c',
 6  'data.c',
 7  'data_device.c',
 8  'data_device_manager.c',
 9  'decor.c',
10  'dmabuf.c',
11  'drm.c',
12  'input.c',
13  'kde_decoration.c',
14  'keyboard.c',
15  'layer_shell.c',
16  'launch.c',
17  'mode.c',
18  'output.c',
19  'panel.c',
20  'panel_manager.c',
21  'plane.c',
22  'pointer.c',
23  'primary_plane.c',
24  'region.c',
25  'screen.c',
26  'select.c',
27  'snap.c',
28  'shell.c',
29  'shell_surface.c',
30  'shm.c',
31  'subcompositor.c',
32  'subsurface.c',
33  'surface.c',
34  'swc.c',
35  'util.c',
36  'view.c',
37  'wayland_buffer.c',
38  'window.c',
39  'xdg_decoration.c',
40  'xdg_output.c',
41  'xdg_shell.c',
42
43  input_backend == 'libinput' ? 'seat.c' : [],
44  input_backend == 'wscons' ? 'seat-ws.c' : [],
45
46  xwayland.found() ? ['xserver.c', 'xwm.c'] : [],  
47)
48libswc_src += [cursor, launch_protocol]
49
50foreach proto, proto_src : protos
51	libswc_src += proto_src
52endforeach
53
54libswc_lib = library(
55	'swc',
56	libswc_src,
57	dependencies: requires + requires_private,
58	install: true,
59	include_directories: include_directories('..'),
60)
61
62# Allows other meson projects to use libswc
63libswc = declare_dependency(
64	link_with: libswc_lib,
65	dependencies: requires + requires_private,
66)
67
68pkg.generate(
69  libswc_lib,
70  name: 'swc',
71  description: 'A library for making a simple Wayland compositor',
72  requires: requires,
73  requires_private: requires_private,
74)