xeme/xeme

Add a simple unit test for the input stream and fix a few issues
DODO_SOURCES = [
'dodoinputstream.c',
'dodomessage.c',
'dodooutputstream.c',
'dodostanza.c',
'dodostream.c',
]
DODO_HEADERS = [
'dodocore.h',
'dodoinputstream.h',
'dodomessage.h',
'dodooutputstream.h',
'dodostanza.h',
'dodostream.h',
'dodostring.h',
]
DODO_BUILT_HEADERS = []
DODO_GENERATED_SOURCES = []
###############################################################################
# Single Header
###############################################################################
DODO_H_INCLUDES = []
foreach header : DODO_HEADERS
DODO_H_INCLUDES += f'#include <dodo/@header@>'
endforeach
header_config = configuration_data()
header_config.set('DODO_H_INCLUDES', '\n'.join(DODO_H_INCLUDES))
dodo_h = configure_file(
input : 'dodo.h.in',
output : 'dodo.h',
configuration : header_config,
install : true,
install_dir : get_option('includedir') / 'dodo-1.0')
DODO_BUILT_HEADERS += dodo_h
###############################################################################
# Library Target
###############################################################################
dodo_inc = include_directories('.')
dodo_lib = library('dodo',
DODO_SOURCES + DODO_HEADERS,
c_args : ['-DDODO_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Dodo"'],
dependencies : [gio_dep, glib_dep, gobject_dep],
include_directories : [toplevel_inc, dodo_inc],
install : true)
###############################################################################
# Library Dependency Object
###############################################################################
dodo_dep = declare_dependency(
dependencies : [gio_dep, glib_dep, gobject_dep],
include_directories : [toplevel_inc, dodo_inc],
link_with : dodo_lib,
sources : DODO_BUILT_HEADERS + DODO_GENERATED_SOURCES)
###############################################################################
# Sub Directories
###############################################################################
subdir('tests')