# -*- mode: conf -*- project('zero-pinyin-service', ['c', 'cpp'], version: '0.10.0', license: 'GPL', meson_version: '>=0.1.0', default_options: [ 'warning_level=2', 'werror=true', 'buildtype=release', 'strip=true', 'b_ndebug=if-release', 'c_std=c11']) # to create a debug build # meson setup --buildtype debugoptimized build/ add_project_arguments( '-Wno-unused-parameter', '-Wno-missing-field-initializers', language: ['c', 'cpp']) add_project_arguments( '-DHAVE_LIBUUID', language: 'cpp') if get_option('buildtype').startswith('release') add_project_arguments( '-DG_DISABLE_ASSERT', '-DG_DISABLE_CHECKS', language: ['c', 'cpp']) endif install_data('com.emacsos.zero.ZeroPinyinService1.ZeroPinyinServiceInterface.xml', install_dir: '/usr/share/dbus-1/interfaces/') install_data('com.emacsos.zero.ZeroPinyinService1.service', install_dir: '/usr/share/dbus-1/services/') glib = dependency('glib-2.0') gio = dependency('gio-unix-2.0') uuid = dependency('uuid') sqlite3 = dependency('sqlite3') shared_dep = [glib, gio, uuid, sqlite3] gen_inc = include_directories('.') gdbus_codegen = find_program('gdbus-codegen') zero_pinyin_generated = custom_target('zero-pinyin-generated', input: 'com.emacsos.zero.ZeroPinyinService1.ZeroPinyinServiceInterface.xml', output: ['zero-pinyin-service-generated.h', 'zero-pinyin-service-generated.c'], command: [gdbus_codegen, '--generate-c-code', 'zero-pinyin-service-generated', '@INPUT@']) lib = [ '../PinyinParser.cc', '../sqlite3_util.c', 'parse-pinyin.cpp', 'zero-pinyin-service.c'] src = [ lib, zero_pinyin_generated, 'main.c'] executable('zero-pinyin-service', src, include_directories: gen_inc, dependencies: shared_dep, install: true, install_dir: '/home/sylecn/bin/sbin/') test('parse-pinyin-test', executable('parse-pinyin-test', ['../PinyinParser.cc', 'parse-pinyin.cpp', 'parse-pinyin-test.cpp'], dependencies: shared_dep)) test('zero-pinyin-service-test', executable('zero-pinyin-service-test', [lib, 'zero-pinyin-service-test.c'], dependencies: shared_dep))