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 input_backend == 'evdev' ? 'seat-evdev.c' : [],
46
47 xwayland.found() ? ['xserver.c', 'xwm.c'] : [],
48)
49libswc_src += [cursor, launch_protocol]
50
51foreach proto, proto_src : protos
52 libswc_src += proto_src
53endforeach
54
55libswc_lib = library(
56 'swc',
57 libswc_src,
58 dependencies: requires + requires_private,
59 install: true,
60 include_directories: include_directories('..'),
61)
62
63# Allows other meson projects to use libswc
64libswc = declare_dependency(
65 link_with: libswc_lib,
66 dependencies: requires + requires_private,
67)
68
69pkg.generate(
70 libswc_lib,
71 name: 'swc',
72 description: 'A library for making a simple Wayland compositor',
73 requires: requires,
74 requires_private: requires_private,
75)