xref: /qemu/tests/meson.build (revision dc293f60)
1py3 = import('python').find_installation()
2
3subdir('bench')
4
5test_qapi_outputs = [
6  'qapi-builtin-types.c',
7  'qapi-builtin-types.h',
8  'qapi-builtin-visit.c',
9  'qapi-builtin-visit.h',
10  'test-qapi-commands-sub-sub-module.c',
11  'test-qapi-commands-sub-sub-module.h',
12  'test-qapi-commands.c',
13  'test-qapi-commands.h',
14  'test-qapi-emit-events.c',
15  'test-qapi-emit-events.h',
16  'test-qapi-events-sub-sub-module.c',
17  'test-qapi-events-sub-sub-module.h',
18  'test-qapi-events.c',
19  'test-qapi-events.h',
20  'test-qapi-init-commands.c',
21  'test-qapi-init-commands.h',
22  'test-qapi-introspect.c',
23  'test-qapi-introspect.h',
24  'test-qapi-types-sub-sub-module.c',
25  'test-qapi-types-sub-sub-module.h',
26  'test-qapi-types.c',
27  'test-qapi-types.h',
28  'test-qapi-visit-sub-sub-module.c',
29  'test-qapi-visit-sub-sub-module.h',
30  'test-qapi-visit.c',
31  'test-qapi-visit.h',
32]
33
34test_qapi_files = custom_target('Test QAPI files',
35                                output: test_qapi_outputs,
36                                input: files('qapi-schema/qapi-schema-test.json',
37                                             'qapi-schema/include/sub-module.json',
38                                             'qapi-schema/sub-sub-module.json'),
39                                command: [ qapi_gen, '-o', meson.current_build_dir(),
40                                           '-b', '-p', 'test-', '@INPUT0@' ],
41                                depend_files: qapi_gen_depends)
42
43# meson doesn't like generated output in other directories
44# perhaps change qapi_gen to replace / with _, like Meson itself does?
45subdir('include')
46
47test_qapi_sources = []
48test_qapi_headers = []
49i = 0
50foreach o: test_qapi_files.to_list() + test_qapi_files_extra.to_list()
51  if o.full_path().endswith('.h')
52    test_qapi_headers += o
53  endif
54  test_qapi_sources += o
55endforeach
56
57libtestqapi = static_library('testqapi', sources: [genh, test_qapi_sources])
58testqapi = declare_dependency(link_with: libtestqapi, sources: [genh, test_qapi_headers])
59
60test_deps = {
61  'test-qht-par': qht_bench,
62}
63
64if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
65  executable('vhost-user-bridge',
66             sources: files('vhost-user-bridge.c'),
67             dependencies: [qemuutil, vhost_user])
68endif
69
70if have_system and 'CONFIG_POSIX' in config_host
71  subdir('qemu-iotests')
72endif
73
74test('decodetree', sh,
75     args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
76     workdir: meson.current_source_dir() / 'decode',
77     suite: 'decodetree')
78
79if 'CONFIG_TCG' in config_all
80  subdir('fp')
81endif
82
83if not get_option('tcg').disabled()
84  if 'CONFIG_PLUGIN' in config_host
85    subdir('plugin')
86  endif
87endif
88
89subdir('unit')
90subdir('qapi-schema')
91subdir('qtest')
92subdir('migration')
93