# -*- mode: conf -*- project('zero-panel', 'c', version: '1.1.0', license: 'EPL-2.0', default_options: [ 'warning_level=3', 'werror=true', 'buildtype=debugoptimized']) add_project_arguments( '-std=c11', '-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_data('zero-panel.1', install_dir: '/usr/share/man/man1/') install_data('README', install_dir: '/usr/share/doc/zero-panel/') gen_inc = include_directories('.') 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'], 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') zero_panel = [ zero_panel_generated_c_fixed, 'server.c'] executable('zero-panel', zero_panel, include_directories: gen_inc, dependencies: [gtk3], install: true, install_dir: '/home/sylecn/d/') executable('zero-panel-client-demo', [zero_panel_generated_c_fixed, 'client-demo.c'], include_directories: gen_inc, dependencies: [gtk3])