project('f00bar', 'c', license: 'MIT', default_options: ['c_std=c11', 'warning_level=1', 'werror=true']) add_project_arguments( ['-D_GNU_SOURCE', #'-Wno-unused-result'], ], language: 'c', ) cc = meson.get_compiler('c') dl = cc.find_library('dl', required : false) threads = dependency('threads') fontconfig = dependency('fontconfig') cairo = dependency('cairo') cairo_ft = dependency('cairo-ft') yaml = dependency('yaml-0.1') # TODO: X11 xcb_aux = dependency('xcb-aux', required: get_option('x11')) xcb_cursor = dependency('xcb-cursor', required: get_option('x11')) xcb_event = dependency('xcb-event', required: get_option('x11')) xcb_ewmh = dependency('xcb-ewmh', required: get_option('x11')) xcb_randr = dependency('xcb-randr', required: get_option('x11')) xcb_render = dependency('xcb-render', required: get_option('x11')) cairo_xcb = dependency('cairo-xcb', required: get_option('x11')) xcb_errors = dependency('xcb-errors', required: false) xcb_stuff = declare_dependency( sources: ['xcb.c', 'xcb.h'], dependencies: [xcb_aux, xcb_cursor, xcb_event, xcb_ewmh, xcb_randr, xcb_render, cairo_xcb, xcb_errors], compile_args: xcb_errors.found() ? '-DHAVE_XCB_ERRORS' : []) if xcb_aux.found() and xcb_cursor.found() and xcb_event.found() and \ xcb_ewmh.found() and xcb_randr.found() and xcb_render.found() and \ cairo_xcb.found() enable_x11 = true add_project_arguments('-DENABLE_X11', language: 'c') else enable_x11 = false endif # TODO: conditional on Wayland wayland_client = dependency('wayland-client', required: get_option('wayland')) wayland_cursor = dependency('wayland-cursor', required: get_option('wayland')) wlroots = dependency('wlroots', required: get_option('wayland')) if wayland_client.found() and wayland_cursor.found() and wlroots.found() enable_wayland = true add_project_arguments('-DENABLE_WAYLAND', language: 'c') else enable_wayland = false endif subdir('bar') subdir('decorations') subdir('particles') subdir('modules') executable( 'f00bar', 'color.h', 'config-verify.c', 'config-verify.h', 'config.c', 'config.h', 'decoration.h', 'font.c', 'font.h', 'log.c', 'log.h', 'main.c', 'module.c', 'module.h', 'particle.c', 'particle.h', 'plugin.c', 'plugin.h', 'tag.c', 'tag.h', 'tllist.h', 'yml.c', 'yml.h', dependencies: [bar, cairo, cairo_ft, fontconfig, yaml, threads, dl] + decorations + particles + modules, link_args: '-rdynamic')