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