Marc-André Lureau | 7272fc7 | 2019-07-15 11:39:13 +0400 | [diff] [blame] | 1 | if add_languages('cpp', required: false) |
Kostiantyn Kostiuk | 9f34101 | 2021-03-01 13:16:07 +0100 | [diff] [blame] | 2 | glib_dynamic = dependency('glib-2.0', static: false) |
Marc-André Lureau | 7272fc7 | 2019-07-15 11:39:13 +0400 | [diff] [blame] | 3 | link_args = cc.get_supported_link_arguments(['-fstack-protector-all', '-fstack-protector-strong', |
| 4 | '-Wl,--add-stdcall-alias', '-Wl,--enable-stdcall-fixup']) |
Marc-André Lureau | 328ec32 | 2019-07-15 13:06:20 +0400 | [diff] [blame] | 5 | |
| 6 | qga_vss = shared_module('qga-vss', ['requester.cpp', 'provider.cpp', 'install.cpp'], |
Marc-André Lureau | 7272fc7 | 2019-07-15 11:39:13 +0400 | [diff] [blame] | 7 | name_prefix: '', |
| 8 | cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno-non-virtual-dtor'], |
| 9 | link_args: link_args, |
| 10 | vs_module_defs: 'qga-vss.def', |
Kostiantyn Kostiuk | 9f34101 | 2021-03-01 13:16:07 +0100 | [diff] [blame] | 11 | dependencies: [glib_dynamic, socket, |
Marc-André Lureau | 7272fc7 | 2019-07-15 11:39:13 +0400 | [diff] [blame] | 12 | cc.find_library('ole32'), |
| 13 | cc.find_library('oleaut32'), |
| 14 | cc.find_library('shlwapi'), |
| 15 | cc.find_library('uuid'), |
| 16 | cc.find_library('intl')]) |
Paolo Bonzini | 588a19f | 2020-01-28 15:06:16 +0100 | [diff] [blame] | 17 | |
| 18 | all_qga += qga_vss |
Marc-André Lureau | 7272fc7 | 2019-07-15 11:39:13 +0400 | [diff] [blame] | 19 | endif |
| 20 | |
| 21 | # rules to build qga-vss.tlb |
| 22 | # Currently, only native build is supported because building .tlb |
| 23 | # (TypeLibrary) from .idl requires WindowsSDK and MIDL (and cl.exe in VC++). |
| 24 | midl = find_program('midl', required: false) |
| 25 | if midl.found() |
| 26 | gen_tlb = custom_target('gen-tlb', |
| 27 | input: 'qga-vss.idl', |
| 28 | output: 'qga-vss.tlb', |
| 29 | command: [midl, '-tlb', '-I' + config_host['WIN_SDK'], |
| 30 | '@INPUT@', '@OUTPUT@']) |
| 31 | else |
| 32 | gen_tlb = custom_target('gen-tlb', |
| 33 | input: 'qga-vss.tlb', |
| 34 | output: 'qga-vss.tlb', |
| 35 | command: ['cp', '@INPUT@', '@OUTPUT@']) |
| 36 | endif |