gri3-wm/meson.build

212 lines
4.9 KiB
Meson

project('i3-guile', 'c', version: '4.18')
cc = meson.get_compiler('c')
sources = [
'src/assignments.c',
'src/bindings.c',
'src/click.c',
'src/commands.c',
'src/commands_parser.c',
'src/con.c',
'src/config.c',
'src/config_directives.c',
'src/config_parser.c',
'src/display_version.c',
'src/drag.c',
'src/ewmh.c',
'src/fake_outputs.c',
'src/floating.c',
'src/handlers.c',
'src/guile.c',
'src/ipc.c',
'src/key_press.c',
'src/load_layout.c',
'src/log.c',
'src/main.c',
'src/manage.c',
'src/match.c',
'src/move.c',
'src/output.c',
'src/randr.c',
'src/regex.c',
'src/render.c',
'src/resize.c',
'src/restore_layout.c',
'src/scratchpad.c',
'src/sd-daemon.c',
'src/sighandler.c',
'src/startup.c',
'src/sync.c',
'src/tree.c',
'src/util.c',
'src/version.c',
'src/window.c',
'src/workspace.c',
'src/x.c',
'src/xcb.c',
'src/xcursor.c',
'src/xinerama.c'
]
libm_dep = cc.find_library('m', required : true)
guile_dep = dependency('guile-3.0')
yajl_dep = dependency('yajl')
pango_dep = dependency('pango')
cairo_dep = dependency('cairo')
pangocairo_dep = dependency('pangocairo')
pcre_dep = dependency('libpcre')
sn_dep = dependency('libstartup-notification-1.0')
thread_dep = dependency('threads')
x11xcb_dep = dependency('x11-xcb')
glib_dep = dependency('glib-2.0')
glibobject_dep = dependency('gobject-2.0')
xcb_dep = dependency('xcb')
xkbcommon_dep = dependency('xkbcommon')
xkbx11_dep = dependency('xkbcommon-x11')
xcbutil_dep = dependency('xcb-util')
xcbcursor_dep = dependency('xcb-cursor')
xcbshape_dep = dependency('xcb-shape')
xcbkeysyms_dep = dependency('xcb-keysyms')
xcbrandr_dep = dependency('xcb-randr')
xcbxkb_dep = dependency('xcb-xkb')
# xcbstate_dep = dependency('xcb-state')
xcb_xinerama_dep = dependency('xcb-xinerama')
xcb_xrm_dep = dependency('xcb-xrm')
xcb_icccm_dep = dependency('xcb-icccm')
libi3_sources = [
'libi3/dpi.c',
'libi3/draw_util.c',
'libi3/fake_configure_notify.c',
'libi3/font.c',
'libi3/format_placeholders.c',
'libi3/get_colorpixel.c',
'libi3/get_config_path.c',
'libi3/get_exe_path.c',
'libi3/get_mod_mask.c',
'libi3/get_process_filename.c',
'libi3/get_visualtype.c',
'libi3/g_utf8_make_valid.c',
'libi3/ipc_connect.c',
'libi3/ipc_recv_message.c',
'libi3/ipc_send_message.c',
'libi3/is_debug_build.c',
'libi3/mkdirp.c',
'libi3/resolve_tilde.c',
'libi3/root_atom_contents.c',
'libi3/safewrappers.c',
'libi3/string.c',
'libi3/strndup.c',
'libi3/ucs2_conversion.c',
]
gri3lib = static_library('i3', libi3_sources,
include_directories: include_directories('include'),
dependencies: [
libm_dep,
guile_dep,
yajl_dep,
pango_dep,
cairo_dep,
pangocairo_dep,
pcre_dep,
sn_dep,
thread_dep,
glib_dep,
glibobject_dep,
xkbcommon_dep,
xcb_dep,
xcbcursor_dep,
x11xcb_dep,
xcbutil_dep,
xcbkeysyms_dep,
xcbrandr_dep,
xcbxkb_dep,
xcb_xinerama_dep,
xcb_xrm_dep,
xcb_icccm_dep,
])
executable('gri3', sources,
include_directories :
[
include_directories('include'),
include_directories('generated'),
],
dependencies: [
libm_dep,
guile_dep,
yajl_dep,
pango_dep,
cairo_dep,
pangocairo_dep,
pcre_dep,
sn_dep,
thread_dep,
glib_dep,
glibobject_dep,
xkbcommon_dep,
xkbx11_dep,
xcb_dep,
xcbcursor_dep,
xcbshape_dep,
x11xcb_dep,
xcbutil_dep,
xcbkeysyms_dep,
xcbrandr_dep,
xcbxkb_dep,
xcb_xinerama_dep,
xcb_xrm_dep,
xcb_icccm_dep,
],
link_with: gri3lib,
install: true,
link_args: ['-lrt', '-lev'])
executable('gri3-nagbar', './i3-nagbar/main.c',
include_directories: include_directories('include'),
dependencies: [ pango_dep, sn_dep ],
install: true,
link_with: gri3lib)
executable('i3bar',
[
'i3bar/src/child.c',
'i3bar/src/config.c',
'i3bar/src/ipc.c',
'i3bar/src/main.c',
'i3bar/src/mode.c',
'i3bar/src/outputs.c',
'i3bar/src/parse_json_header.c',
'i3bar/src/workspaces.c',
'i3bar/src/xcb.c',
],
include_directories:
[include_directories('i3bar/include'),
include_directories('include'),
],
dependencies: [ pango_dep, sn_dep ],
link_args: ['-lrt', '-lev'],
link_with: gri3lib,
install: true)
executable('gri3-msg', 'i3-msg/main.c',
include_directories: include_directories('include'),
dependencies: pango_dep, link_with: gri3lib,
install: true)
install_data(sources : [ 'etc/config.scm', 'etc/hooks.scm' ], install_dir : 'etc/gri3/')
install_data(sources : [ 'etc/config.scm', 'etc/hooks.scm' ], install_dir : 'etc/gri3/')
install_headers('include/ipc.h', subdir : 'gri3')
install_subdir('share/applications', install_dir : 'share')
install_subdir('share/xsessions', install_dir : 'share')
# Guile library
install_subdir('share/guile', install_dir : 'share')