# -*- mode: conf -*- project('zero-panel', 'c', version: '1.3.5', license: 'EPL-2.0', meson_version: '>=0.46.0', default_options: [ 'warning_level=3', 'werror=true', 'buildtype=debugoptimized', 'c_std=c11']) add_project_arguments( '-Wno-unused-parameter', '-Wno-missing-field-initializers', language: 'c') install_data('com.emacsos.zero.Panel1.PanelInterface.xml', install_dir: '/usr/share/dbus-1/interfaces/') install_data('com.emacsos.zero.Panel1.service', install_dir: '/usr/share/dbus-1/services/') install_subdir('themes', install_dir: '/usr/share/zero-panel/', strip_directory: true) install_man(['zero-panel.1']) install_data('README.org', install_dir: '/usr/share/doc/zero-panel/') gdbus_codegen = find_program('gdbus-codegen') zero_panel_generated = custom_target('zero-panel-generated', input: 'com.emacsos.zero.Panel1.PanelInterface.xml', output: ['zero-panel-generated.h', 'zero-panel-generated.c'], install: true, install_dir: [get_option('includedir') + '/' + 'zero-panel', false], command: [gdbus_codegen, '--generate-c-code', 'zero-panel-generated', '@INPUT@']) # warning_level 3 -Wpedantic requires this change. sed = find_program('sed') zero_panel_generated_c_fixed = custom_target('zero-panel-generated-fixed.c', input: zero_panel_generated, output: 'zero-panel-generated-fixed.c', capture: true, command: [sed, '{ s/zero_panel_proxy_iface_init));/zero_panel_proxy_iface_init))/g; s/G_TYPE_OBJECT);/G_TYPE_OBJECT)/g; s/zero_panel_skeleton_iface_init));/zero_panel_skeleton_iface_init))/g }', '@INPUT@']) gtk3 = dependency('gtk+-3.0') # a library for zero-panel C clients install_headers('zero-panel.h', subdir: 'zero-panel') pkg = import('pkgconfig') lib = library('zero-panel', [zero_panel_generated_c_fixed], dependencies: [gtk3], install: true) pkg.generate(lib, subdirs: 'zero-panel') # zero-panel executable zero_panel = [ zero_panel_generated_c_fixed, 'server.c'] executable('zero-panel', zero_panel, dependencies: [gtk3], install: true, install_dir: '/home/sylecn/d/') executable('zero-panel-client-demo', [zero_panel_generated_c_fixed, 'client-demo.c'], dependencies: [gtk3])