From 0635be0dee86b8314f8699376a5a6376eb30904d Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 11 Apr 2022 18:38:11 +0800 Subject: [PATCH] Visual Studio: Only use /utf-8 on VS2015 or later or clang-cl The compiler flag only exists on Visual Studio 2015 or later, or clang-cl, and using this always can interfere with compiler feature detection when this flag is not supported. So, remove '/utf-8' from always_args if we are on Visual Studio 2013 or earlier. --- mesonbuild/compilers/mixins/visualstudio.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mesonbuild/compilers/mixins/visualstudio.py b/mesonbuild/compilers/mixins/visualstudio.py index f11c580e9..fdaccc9b4 100644 --- a/mesonbuild/compilers/mixins/visualstudio.py +++ b/mesonbuild/compilers/mixins/visualstudio.py @@ -130,6 +130,10 @@ class VisualStudioLikeCompiler(Compiler, metaclass=abc.ABCMeta): self.machine = target if mesonlib.version_compare(self.version, '>=19.28.29910'): # VS 16.9.0 includes cl 19.28.29910 self.base_options.add(mesonlib.OptionKey('b_sanitize')) + # Exclude /utf-8 in self.always_args in VS2013 and earlier + if not isinstance(self, ClangClCompiler): + if mesonlib.version_compare(self.version, '<19.00'): + self.always_args.remove('/utf-8') assert self.linker is not None self.linker.machine = self.machine