xref: /qemu/tests/meson.build (revision 727385c4)
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
70test('decodetree', sh,
71     args: [ files('decode/check.sh'), config_host['PYTHON'], files('../scripts/decodetree.py') ],
72     workdir: meson.current_source_dir() / 'decode',
73     suite: 'decodetree')
74
75if 'CONFIG_TCG' in config_all
76  subdir('fp')
77endif
78
79if not get_option('tcg').disabled()
80  if 'CONFIG_PLUGIN' in config_host
81    subdir('plugin')
82  endif
83endif
84
85subdir('unit')
86subdir('qapi-schema')
87subdir('qtest')
88subdir('migration')
89