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

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)