fix compilation on systems with old gdbus-codegen

This commit is contained in:
Lucas L. Treffenstädt 2018-11-02 20:13:09 +01:00
parent 00e7e87f55
commit f137090d55

View File

@ -38,26 +38,58 @@ endforeach
gdbus_codegen = find_program('gdbus-codegen') gdbus_codegen = find_program('gdbus-codegen')
gdbus_code = generator( r = run_command(gdbus_codegen, '--body', '--output', '/dev/null')
gdbus_codegen, if r.returncode() != 0
output: '@BASENAME@.c', gdbus_code_dsnw = custom_target(
arguments: ['--c-namespace', 'Sn', '--body', '--output', '@OUTPUT@', '@INPUT@'] 'dbus-status-notifier-watcher.[ch]',
) output: ['@BASENAME@.c','@BASENAME@.h'],
input: './dbus-status-notifier-watcher.xml',
command: [gdbus_codegen,'--c-namespace', 'Sn', '--generate-c-code', 'protocol/@BASENAME@', '@INPUT@'],
)
gdbus_header = generator( gdbus_code_dsni = custom_target(
gdbus_codegen, 'dbus-status-notifier-item.[ch]',
output: '@BASENAME@.h', output: ['@BASENAME@.c','@BASENAME@.h'],
arguments: ['--c-namespace', 'Sn', '--header', '--output', '@OUTPUT@', '@INPUT@'] input: './dbus-status-notifier-item.xml',
) command: [gdbus_codegen,'--c-namespace', 'Sn', '--generate-c-code', 'protocol/@BASENAME@', '@INPUT@'],
)
client_protos_src += gdbus_code.process('./dbus-status-notifier-watcher.xml') gdbus_code_dm = custom_target(
client_protos_headers += gdbus_header.process('./dbus-status-notifier-watcher.xml') 'dbus-menu.[ch]',
output: ['@BASENAME@.c','@BASENAME@.h'],
input: './dbus-menu.xml',
command: [gdbus_codegen,'--c-namespace', 'Sn', '--generate-c-code', 'protocol/@BASENAME@', '@INPUT@'],
)
client_protos_src += gdbus_code.process('./dbus-status-notifier-item.xml') client_protos_src += gdbus_code_dsnw[0]
client_protos_headers += gdbus_header.process('./dbus-status-notifier-item.xml') client_protos_headers += gdbus_code_dsnw[1]
client_protos_src += gdbus_code_dsni[0]
client_protos_headers += gdbus_code_dsni[1]
client_protos_src += gdbus_code_dm[0]
client_protos_headers += gdbus_code_dm[1]
else
gdbus_code = generator(
gdbus_codegen,
output: '@BASENAME@.c',
arguments: ['--c-namespace', 'Sn', '--body', '--output', '@OUTPUT@', '@INPUT@']
)
gdbus_header = generator(
gdbus_codegen,
output: '@BASENAME@.h',
arguments: ['--c-namespace', 'Sn', '--header', '--output', '@OUTPUT@', '@INPUT@']
)
client_protos_src += gdbus_code.process('./dbus-status-notifier-watcher.xml')
client_protos_headers += gdbus_header.process('./dbus-status-notifier-watcher.xml')
client_protos_src += gdbus_code.process('./dbus-status-notifier-item.xml')
client_protos_headers += gdbus_header.process('./dbus-status-notifier-item.xml')
client_protos_src += gdbus_code.process('./dbus-menu.xml')
client_protos_headers += gdbus_header.process('./dbus-menu.xml')
endif
client_protos_src += gdbus_code.process('./dbus-menu.xml')
client_protos_headers += gdbus_header.process('./dbus-menu.xml')
lib_client_protos = static_library( lib_client_protos = static_library(
'client_protos', 'client_protos',