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)