qemu/tests/meson.build
Marc-André Lureau 37e2777670 meson: build qapi tests library
- builds QAPI builtins types/visitor to fix a linking issue with
  unresolved symbols in the static library.

- work around a meson limitation on generated file output directories.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20200828110734.1638685-2-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-09-08 07:17:09 +02:00

64 lines
2.1 KiB
Meson

test_qapi_outputs = [
'qapi-builtin-types.c',
'qapi-builtin-types.h',
'qapi-builtin-visit.c',
'qapi-builtin-visit.h',
'test-qapi-commands-sub-sub-module.c',
'test-qapi-commands-sub-sub-module.h',
'test-qapi-commands.c',
'test-qapi-commands.h',
'test-qapi-emit-events.c',
'test-qapi-emit-events.h',
'test-qapi-events-sub-sub-module.c',
'test-qapi-events-sub-sub-module.h',
'test-qapi-events.c',
'test-qapi-events.h',
'test-qapi-init-commands.c',
'test-qapi-init-commands.h',
'test-qapi-introspect.c',
'test-qapi-introspect.h',
'test-qapi-types-sub-sub-module.c',
'test-qapi-types-sub-sub-module.h',
'test-qapi-types.c',
'test-qapi-types.h',
'test-qapi-visit-sub-sub-module.c',
'test-qapi-visit-sub-sub-module.h',
'test-qapi-visit.c',
'test-qapi-visit.h',
]
test_qapi_files = custom_target('Test QAPI files',
output: test_qapi_outputs,
input: files('qapi-schema/qapi-schema-test.json',
'qapi-schema/include/sub-module.json',
'qapi-schema/sub-sub-module.json'),
command: [ qapi_gen, '-o', meson.current_build_dir(),
'-b', '-p', 'test-', '@INPUT0@' ],
depend_files: qapi_gen_depends)
# meson doesn't like generated output in other directories
# perhaps change qapi_gen to replace / with _, like Meson itself does?
subdir('include')
libtestqapi = static_library('testqapi', sources: [test_qapi_files, test_qapi_outputs_extra])
testqapi = declare_dependency(link_with: libtestqapi)
if have_system and 'CONFIG_POSIX' in config_host
subdir('qemu-iotests')
endif
test('decodetree', sh,
args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
workdir: meson.current_source_dir() / 'decode',
suite: 'decodetree')
if 'CONFIG_TCG' in config_host
subdir('fp')
if 'CONFIG_PLUGIN' in config_host
subdir('plugin')
endif
endif
subdir('qapi-schema')
subdir('qtest')