xref: /qemu/qga/vss-win32/meson.build (revision 1e1223249d3ae12023cd6ef811979b26ee6d5584)
1glib_dynamic = dependency('glib-2.0', static: false)
2link_args = cc.get_supported_link_arguments([
3  '-fstack-protector-all',
4  '-fstack-protector-strong',
5  '-Wl,--add-stdcall-alias',
6  '-Wl,--enable-stdcall-fixup'
7])
8
9qga_vss = shared_module(
10  'qga-vss',
11  ['requester.cpp', 'provider.cpp', 'install.cpp'],
12  name_prefix: '',
13  cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno-non-virtual-dtor'],
14  link_args: link_args,
15  vs_module_defs: 'qga-vss.def',
16  dependencies: [
17    glib_dynamic, socket,
18    cc.find_library('ole32'),
19    cc.find_library('oleaut32'),
20    cc.find_library('shlwapi'),
21    cc.find_library('uuid'),
22    cc.find_library('intl')
23  ]
24)
25
26all_qga += qga_vss
27
28midl = find_program('midl', required: false)
29widl = find_program('widl', required: false)
30if midl.found()
31  gen_tlb = custom_target('gen-tlb',
32                          input: 'qga-vss.idl',
33                          output: 'qga-vss.tlb',
34                          command: [midl, '@INPUT@', '/tlb', '@OUTPUT@'])
35elif widl.found()
36  gen_tlb = custom_target('gen-tlb',
37                          input: 'qga-vss.idl',
38                          output: 'qga-vss.tlb',
39                          command: [widl, '-t', '@INPUT@', '-o', '@OUTPUT@'])
40else
41  gen_tlb = custom_target('gen-tlb',
42                          input: 'qga-vss.tlb',
43                          output: 'qga-vss.tlb',
44                          command: ['cp', '@INPUT@', '@OUTPUT@'])
45endif
46