aboutsummaryrefslogtreecommitdiff
path: root/qga/vss-win32/meson.build
blob: 78bdf5e74a7273adc15887738f5762643f651f98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if add_languages('cpp', required: false)
  glib_dynamic = dependency('glib-2.0', static: false)
  link_args = cc.get_supported_link_arguments(['-fstack-protector-all', '-fstack-protector-strong',
                                               '-Wl,--add-stdcall-alias', '-Wl,--enable-stdcall-fixup'])

  qga_vss = shared_module('qga-vss', ['requester.cpp', 'provider.cpp', 'install.cpp'],
                name_prefix: '',
                cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno-non-virtual-dtor'],
                link_args: link_args,
                vs_module_defs: 'qga-vss.def',
                dependencies: [glib_dynamic, socket,
                               cc.find_library('ole32'),
                               cc.find_library('oleaut32'),
                               cc.find_library('shlwapi'),
                               cc.find_library('uuid'),
                               cc.find_library('intl')])

  all_qga += qga_vss
endif

# rules to build qga-vss.tlb
# Currently, only native build is supported because building .tlb
# (TypeLibrary) from .idl requires WindowsSDK and MIDL (and cl.exe in VC++).
midl = find_program('midl', required: false)
if midl.found()
  gen_tlb = custom_target('gen-tlb',
                          input: 'qga-vss.idl',
                          output: 'qga-vss.tlb',
                          command: [midl, '@INPUT@', '/tlb', '@OUTPUT@'])
else
  gen_tlb = custom_target('gen-tlb',
                          input: 'qga-vss.tlb',
                          output: 'qga-vss.tlb',
                          command: ['cp', '@INPUT@', '@OUTPUT@'])
endif