Newer
Older
# -*- mode: conf -*-
project('pinyin_parser', ['cpp', 'c'],
'buildtype=release'])
add_project_arguments(
'-Wno-unused-parameter',
'-Wno-missing-field-initializers',
'-DHAVE_LIBUUID',
language: 'cpp')
# generate pinyin_parser_wrap.c using swig.
# but swig has a bug, the PyInit function name has an extra _ in it. so I use
# sed to do a simple replace.
swig = find_program('swig')
pinyin_parser_wrap_swig = custom_target('pinyin_parser_swig.c',
input: 'pinyin_parser.i',
output: 'pinyin_parser_swig.c',
command: [swig, '-python', '-o', '@OUTPUT@', '@INPUT@'])
sed = find_program('sed')
pinyin_parser_wrap = custom_target('pinyin_parser_wrap.c',
input: pinyin_parser_wrap_swig,
output: 'pinyin_parser_wrap.c',
capture: true,
command: [sed, 's/PyInit__libpinyin_parser/PyInit_libpinyin_parser/', '@INPUT@'])
glib = dependency('glib-2.0')
uuid = dependency('uuid')
shared_dep = [glib, uuid]
# requires meson 0.46.0+
pymod = import('python')
py_installation = pymod.find_installation('python3')
lib_src = [
'../PinyinParser.cc',
'pinyin_parser.cpp',
dependencies: [shared_dep, py_installation.dependency(embed: true)],
# note: to link against libpython, embed must be set to true.
install: true, install_dir: '/home/sylecn/c/gtk-im-module/sogou/scelexport/')
main_src = [
'../PinyinParser.cc',
'pinyin_parser_main.cpp']
executable('main', main_src, dependencies: shared_dep)
test_src = [
'../PinyinParser.cc',
'pinyin_parser.cpp',
'pinyin_parser_test.cpp']
test('libpinyin_parser-test',
executable('libtest', test_src, dependencies: shared_dep))