1sway_sources = files(
2	'commands.c',
3	'config.c',
4	'criteria.c',
5	'decoration.c',
6	'ipc-json.c',
7	'ipc-server.c',
8	'main.c',
9	'server.c',
10	'swaynag.c',
11	'xdg_decoration.c',
12
13	'desktop/desktop.c',
14	'desktop/idle_inhibit_v1.c',
15	'desktop/layer_shell.c',
16	'desktop/output.c',
17	'desktop/render.c',
18	'desktop/surface.c',
19	'desktop/transaction.c',
20	'desktop/xdg_shell.c',
21
22	'input/input-manager.c',
23	'input/cursor.c',
24	'input/keyboard.c',
25	'input/libinput.c',
26	'input/seat.c',
27	'input/seatop_default.c',
28	'input/seatop_down.c',
29	'input/seatop_move_floating.c',
30	'input/seatop_move_tiling.c',
31	'input/seatop_resize_floating.c',
32	'input/seatop_resize_tiling.c',
33	'input/switch.c',
34	'input/tablet.c',
35	'input/text_input.c',
36
37	'config/bar.c',
38	'config/output.c',
39	'config/seat.c',
40	'config/input.c',
41
42	'commands/assign.c',
43	'commands/bar.c',
44	'commands/bind.c',
45	'commands/border.c',
46	'commands/client.c',
47	'commands/create_output.c',
48	'commands/default_border.c',
49	'commands/default_floating_border.c',
50	'commands/default_orientation.c',
51	'commands/exit.c',
52	'commands/exec.c',
53	'commands/exec_always.c',
54	'commands/floating.c',
55	'commands/floating_minmax_size.c',
56	'commands/floating_modifier.c',
57	'commands/focus.c',
58	'commands/focus_follows_mouse.c',
59	'commands/focus_on_window_activation.c',
60	'commands/focus_wrapping.c',
61	'commands/font.c',
62	'commands/for_window.c',
63	'commands/force_display_urgency_hint.c',
64	'commands/force_focus_wrapping.c',
65	'commands/fullscreen.c',
66	'commands/gaps.c',
67	'commands/hide_edge_borders.c',
68	'commands/inhibit_idle.c',
69	'commands/kill.c',
70	'commands/mark.c',
71	'commands/max_render_time.c',
72	'commands/opacity.c',
73	'commands/include.c',
74	'commands/input.c',
75	'commands/layout.c',
76	'commands/mode.c',
77	'commands/mouse_warping.c',
78	'commands/move.c',
79	'commands/new_float.c',
80	'commands/new_window.c',
81	'commands/no_focus.c',
82	'commands/nop.c',
83	'commands/output.c',
84	'commands/popup_during_fullscreen.c',
85	'commands/reload.c',
86	'commands/rename.c',
87	'commands/resize.c',
88	'commands/scratchpad.c',
89	'commands/seat.c',
90	'commands/seat/attach.c',
91	'commands/seat/cursor.c',
92	'commands/seat/fallback.c',
93	'commands/seat/hide_cursor.c',
94	'commands/seat/idle.c',
95	'commands/seat/keyboard_grouping.c',
96	'commands/seat/pointer_constraint.c',
97	'commands/seat/shortcuts_inhibitor.c',
98	'commands/seat/xcursor_theme.c',
99	'commands/set.c',
100	'commands/show_marks.c',
101	'commands/shortcuts_inhibitor.c',
102	'commands/smart_borders.c',
103	'commands/smart_gaps.c',
104	'commands/split.c',
105	'commands/sticky.c',
106	'commands/swaybg_command.c',
107	'commands/swaynag_command.c',
108	'commands/swap.c',
109	'commands/tiling_drag.c',
110	'commands/tiling_drag_threshold.c',
111	'commands/title_align.c',
112	'commands/title_format.c',
113	'commands/titlebar_border_thickness.c',
114	'commands/titlebar_padding.c',
115	'commands/unmark.c',
116	'commands/urgent.c',
117	'commands/workspace.c',
118	'commands/workspace_layout.c',
119	'commands/ws_auto_back_and_forth.c',
120
121	'commands/bar/bind.c',
122	'commands/bar/binding_mode_indicator.c',
123	'commands/bar/colors.c',
124	'commands/bar/font.c',
125	'commands/bar/gaps.c',
126	'commands/bar/height.c',
127	'commands/bar/hidden_state.c',
128	'commands/bar/icon_theme.c',
129	'commands/bar/id.c',
130	'commands/bar/mode.c',
131	'commands/bar/modifier.c',
132	'commands/bar/output.c',
133	'commands/bar/pango_markup.c',
134	'commands/bar/position.c',
135	'commands/bar/separator_symbol.c',
136	'commands/bar/status_command.c',
137	'commands/bar/status_edge_padding.c',
138	'commands/bar/status_padding.c',
139	'commands/bar/strip_workspace_numbers.c',
140	'commands/bar/strip_workspace_name.c',
141	'commands/bar/swaybar_command.c',
142	'commands/bar/tray_bind.c',
143	'commands/bar/tray_output.c',
144	'commands/bar/tray_padding.c',
145	'commands/bar/workspace_buttons.c',
146	'commands/bar/wrap_scroll.c',
147
148	'commands/input/accel_profile.c',
149	'commands/input/calibration_matrix.c',
150	'commands/input/click_method.c',
151	'commands/input/drag.c',
152	'commands/input/drag_lock.c',
153	'commands/input/dwt.c',
154	'commands/input/events.c',
155	'commands/input/left_handed.c',
156	'commands/input/map_from_region.c',
157	'commands/input/map_to_output.c',
158	'commands/input/map_to_region.c',
159	'commands/input/middle_emulation.c',
160	'commands/input/natural_scroll.c',
161	'commands/input/pointer_accel.c',
162	'commands/input/repeat_delay.c',
163	'commands/input/repeat_rate.c',
164	'commands/input/scroll_button.c',
165	'commands/input/scroll_factor.c',
166	'commands/input/scroll_method.c',
167	'commands/input/tap.c',
168	'commands/input/tap_button_map.c',
169	'commands/input/xkb_capslock.c',
170	'commands/input/xkb_file.c',
171	'commands/input/xkb_layout.c',
172	'commands/input/xkb_model.c',
173	'commands/input/xkb_numlock.c',
174	'commands/input/xkb_options.c',
175	'commands/input/xkb_rules.c',
176	'commands/input/xkb_switch_layout.c',
177	'commands/input/xkb_variant.c',
178
179	'commands/output/adaptive_sync.c',
180	'commands/output/background.c',
181	'commands/output/disable.c',
182	'commands/output/dpms.c',
183	'commands/output/enable.c',
184	'commands/output/max_render_time.c',
185	'commands/output/mode.c',
186	'commands/output/position.c',
187	'commands/output/scale.c',
188	'commands/output/scale_filter.c',
189	'commands/output/subpixel.c',
190	'commands/output/toggle.c',
191	'commands/output/transform.c',
192
193	'tree/arrange.c',
194	'tree/container.c',
195	'tree/node.c',
196	'tree/root.c',
197	'tree/view.c',
198	'tree/workspace.c',
199	'tree/output.c',
200)
201
202sway_deps = [
203	cairo,
204	jsonc,
205	libevdev,
206	libinput,
207	math,
208	pango,
209	pcre,
210	glesv2,
211	pixman,
212	server_protos,
213	wayland_server,
214	wlroots,
215	xkbcommon,
216]
217
218if have_xwayland
219	sway_sources += files(
220		'commands/xwayland.c',
221		'commands/xwayland/enable.c',
222		'commands/xwayland/disable.c',
223		'commands/xwayland/force.c',
224		'commands/xwayland/scale.c',
225		'desktop/xwayland.c'
226	)
227	sway_deps += xcb
228endif
229
230executable(
231	'sway',
232	sway_sources,
233	include_directories: [sway_inc],
234	dependencies: sway_deps,
235	link_with: [lib_sway_common],
236	install: true
237)
238