Skip to content
meson.build 1.88 KiB
Newer Older
# -*- 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])