project('libei', 'c', version: '0.4.1', license: 'MIT', default_options: [ 'c_std=gnu99', 'warning_level=2' ], meson_version: '>= 0.57.0') pkgconfig = import('pkgconfig') cc = meson.get_compiler('c') cflags =[ '-Wno-unused-parameter', '-Wmissing-prototypes', '-Wno-missing-field-initializers', '-Wstrict-prototypes', '-Wstrict-prototypes', '-Wlogical-op', '-Wpointer-arith', '-Wuninitialized', '-Winit-self', '-Wstrict-prototypes', '-Wimplicit-fallthrough', '-Wredundant-decls', '-Wincompatible-pointer-types', '-Wformat=2', '-Wformat-overflow=2', '-Wformat-signedness', '-Wformat-truncation=2', '-Wmissing-declarations', '-Wshift-overflow=2', '-Wstrict-overflow=2', '-Wswitch', ] if cc.get_id() == 'clang' cflags += [ # clang doesn't think just using _unref_ is a use of the variable # _unref_(foo) *bar = something_that_gives_a_ref # but we make heavy use of that in the test suite for convenience # of events we know must exist but we don't care about specifically '-Wno-unused-variable', ] endif add_project_arguments(cc.get_supported_arguments(cflags), language: 'c') inc_builddir = include_directories('.') inc_src = include_directories('src') inc_proto = include_directories('proto') protocol_version = 1 config_h = configuration_data() config_h.set('_GNU_SOURCE', '1') config_h.set_quoted('EI_VERSION', meson.project_version()) config_h.set_quoted('EIS_VERSION', meson.project_version()) config_h.set('EI_PROTOCOL_VERSION', protocol_version) config_h.set('EIS_PROTOCOL_VERSION', protocol_version) # Depeendencies for the demo tools dep_libxkbcommon = dependency('xkbcommon', required: false) config_h.set10('HAVE_LIBXKBCOMMON', dep_libxkbcommon.found()) dep_libevdev = dependency('libevdev', required: false) config_h.set10('HAVE_LIBEVDEV', dep_libevdev.found()) dep_systemd = dependency('libsystemd', required: get_option('liboeffis')) configure_file(output: 'config.h', configuration: config_h) subdir('proto') subdir('src') subdir('tools') subdir('test') subdir('doc')