From 47a53f50637965919447f721b3956b974a2a0afd Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Sat, 16 Oct 2021 22:43:32 +0900 Subject: [PATCH] meson: wasapi2,mediafoundation: Work around Windows SDK header issue Some SDK headers are not standard compliant, so MSVC will complain when such headers are in use with "/permissive-" compile option. Use "/Zc:twoPhase-" to work around the issue as documented in https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues Part-of: --- subprojects/gst-plugins-bad/sys/mediafoundation/meson.build | 4 ++++ subprojects/gst-plugins-bad/sys/wasapi2/meson.build | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build b/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build index 9c6c922..1ee0b8c 100644 --- a/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build +++ b/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build @@ -155,6 +155,10 @@ configure_file( configuration: mf_config, ) +# Work around for Windows SDK header issue +# https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues +extra_cpp_args += cxx.get_supported_arguments(['/Zc:twoPhase-']) + gstmediafoundation = library('gstmediafoundation', mf_sources, c_args : gst_plugins_bad_args + extra_c_args, diff --git a/subprojects/gst-plugins-bad/sys/wasapi2/meson.build b/subprojects/gst-plugins-bad/sys/wasapi2/meson.build index acffe91..0fd22c4 100644 --- a/subprojects/gst-plugins-bad/sys/wasapi2/meson.build +++ b/subprojects/gst-plugins-bad/sys/wasapi2/meson.build @@ -124,10 +124,14 @@ if not gstwinrt_dep.found() endif endif +# Work around for Windows SDK header issue +# https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues +extra_cpp_args = cxx.get_supported_arguments(['/Zc:twoPhase-']) + gstwasapi2 = library('gstwasapi2', wasapi2_sources, c_args : gst_plugins_bad_args + ['-DCOBJMACROS'] + extra_args, - cpp_args : gst_plugins_bad_args + extra_args, + cpp_args : gst_plugins_bad_args + extra_args + extra_cpp_args, include_directories : [configinc], dependencies : [gstaudio_dep, gstwinrt_dep] + wasapi2_dep, install : true, -- 2.7.4