xref: /qemu/rust/meson.build (revision 1297b285cc3ffbd06dc3208fbecdb2d582c535dc)
1subproject('bilge-0.2-rs', required: true)
2subproject('bilge-impl-0.2-rs', required: true)
3subproject('libc-0.2-rs', required: true)
4
5bilge_rs = dependency('bilge-0.2-rs')
6bilge_impl_rs = dependency('bilge-impl-0.2-rs')
7libc_rs = dependency('libc-0.2-rs')
8
9subproject('proc-macro2-1-rs', required: true)
10subproject('quote-1-rs', required: true)
11subproject('syn-2-rs', required: true)
12
13quote_rs_native = dependency('quote-1-rs', native: true)
14syn_rs_native = dependency('syn-2-rs', native: true)
15proc_macro2_rs_native = dependency('proc-macro2-1-rs', native: true)
16
17subdir('qemu-api-macros')
18subdir('qemu-api')
19
20subdir('hw')
21
22cargo = find_program('cargo', required: false)
23
24if cargo.found()
25  run_target('clippy',
26    command: [config_host['MESON'], 'devenv',
27              '--workdir', '@CURRENT_SOURCE_DIR@',
28              cargo, 'clippy', '--tests'],
29    depends: bindings_rs)
30
31  run_target('rustfmt',
32    command: [config_host['MESON'], 'devenv',
33              '--workdir', '@CURRENT_SOURCE_DIR@',
34              cargo, 'fmt'],
35    depends: bindings_rs)
36
37  run_target('rustdoc',
38    command: [config_host['MESON'], 'devenv',
39              '--workdir', '@CURRENT_SOURCE_DIR@',
40              cargo, 'doc', '--no-deps', '--document-private-items'],
41    depends: bindings_rs)
42endif
43