The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.9 KiB
95 lines
2.9 KiB
gdbus_src = gnome.gdbus_codegen('generated-gdbus-no-docbook', |
|
'data/com.example.Sample.xml', |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [ |
|
['com.example.Hello()', 'org.freedesktop.DBus.Deprecated', 'true'] |
|
], |
|
) |
|
|
|
# check that empty annotations work |
|
gdbus_src2 = gnome.gdbus_codegen( |
|
'generated-gdbus-no-docbook2', |
|
'data/com.example.Sample.xml', |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [], |
|
) |
|
|
|
assert(gdbus_src.length() == 2, 'expected 2 targets') |
|
assert(gdbus_src[0].full_path().endswith('.c'), 'expected 1 c source file') |
|
assert(gdbus_src[1].full_path().endswith('.h'), 'expected 1 c header file') |
|
|
|
sample_xml = configure_file(input: 'data/com.example.Sample.xml', |
|
output: 'com.example.Sample.xml', |
|
copy: true) |
|
|
|
gdbus_src = gnome.gdbus_codegen('generated-gdbus-no-docbook-files-posarg', |
|
sample_xml, |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [ |
|
['com.example.Hello()', 'org.freedesktop.DBus.Deprecated', 'true'] |
|
], |
|
) |
|
assert(gdbus_src.length() == 2, 'expected 2 targets') |
|
assert(gdbus_src[0].full_path().endswith('.c'), 'expected 1 c source file') |
|
assert(gdbus_src[1].full_path().endswith('.h'), 'expected 1 c header file') |
|
|
|
gdbus_src = gnome.gdbus_codegen('generated-gdbus', |
|
sources : files('data/com.example.Sample.xml'), |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [ |
|
['com.example.Hello()', 'org.freedesktop.DBus.Deprecated', 'true'], |
|
['com.example.Bye()', 'org.freedesktop.DBus.Deprecated', 'true'], |
|
], |
|
docbook : 'generated-gdbus-doc', |
|
install_header : true, |
|
install_dir : get_option('includedir') |
|
) |
|
assert(gdbus_src.length() == 3, 'expected 3 targets') |
|
assert(gdbus_src[0].full_path().endswith('.c'), 'expected 1 c source file') |
|
assert(gdbus_src[1].full_path().endswith('.h'), 'expected 1 c header file') |
|
|
|
if not pretend_glib_old and glib.version().version_compare('>=2.51.3') |
|
includes = [] |
|
else |
|
includes = include_directories('..') |
|
endif |
|
|
|
# check that custom targets work |
|
gdbus_xml_ct = custom_target('built xml sources for gdbus', |
|
output: 'com.example.SampleCustomTarget.xml', |
|
input: 'data/com.example.Sample.xml', |
|
command : [copyfile, '@INPUT@', '@OUTPUT@']) |
|
|
|
gdbus_src_ct = gnome.gdbus_codegen( |
|
'generated-gdbus-customtarget-src', |
|
gdbus_xml_ct, |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [], |
|
) |
|
gdbus_src_cti = gnome.gdbus_codegen( |
|
'generated-gdbus-customtargetindex-src', |
|
gdbus_xml_ct[0], |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [], |
|
) |
|
|
|
gdbus_src_gen = gnome.gdbus_codegen( |
|
'generated-gdbus-generator-src', |
|
copyfile_gen.process('data/com.example.Sample.xml'), |
|
interface_prefix : 'com.example.', |
|
namespace : 'Sample', |
|
annotations : [], |
|
) |
|
|
|
gdbus_exe = executable('gdbus-test', 'gdbusprog.c', |
|
gdbus_src, |
|
include_directories : includes, |
|
dependencies : giounix) |
|
|
|
test('gdbus', gdbus_exe)
|
|
|