Newer
Older
# -*- mode: conf -*-
project('zero-panel', 'c',
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])