diff --git a/meson.build b/meson.build new file mode 100644 index 000000000..06eed97fb --- /dev/null +++ b/meson.build @@ -0,0 +1,66 @@ +project( + 'sway', + 'c', + license: 'MIT', + default_options: [ + 'c_std=c11', + 'warning_level=2', + 'werror=true', + ], +) + +cc = meson.get_compiler('c') + +jsonc = dependency('json-c', version: '>=0.12.1') +pcre = dependency('libpcre') +wlroots = dependency('wlroots') +wayland_server = dependency('wayland-server') +wayland_client = dependency('wayland-client') +wayland_egl = dependency('wayland-egl') +wayland_protos = dependency('wayland-protocols') +xkbcommon = dependency('xkbcommon') +pango = dependency('pango') +pixman = dependency('pixman-1') +libcap = dependency('libcap') + +math = cc.find_library('m') + +# TODO version +add_project_arguments('-DSWAY_VERSION="5"', language: 'c') + +sway_inc = include_directories('include') + +sway_sources = [ + 'sway/main.c', + 'sway/server.c', + 'sway/commands.c', + 'sway/commands/exit.c', + 'sway/ipc-json.c', + 'sway/ipc-server.c', + 'sway/desktop/output.c', + 'sway/desktop/xdg_shell_v6.c', + 'sway/tree/container.c', + 'sway/tree/layout.c', + 'sway/tree/workspace.c', + 'common/log.c', + 'common/list.c', + 'common/stringop.c', + 'common/readline.c', + 'common/ipc-client.c', +] + +sway_deps = [ + pixman, + wayland_server, + jsonc, + wlroots, + libcap, + math, +] + +executable( + 'sway', + sway_sources, + include_directories: [sway_inc], + dependencies: sway_deps +)