summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2022-04-11 18:38:11 +0800
committerNirbheek Chauhan <nirbheek@centricular.com>2022-05-31 13:19:44 +0530
commit0635be0dee86b8314f8699376a5a6376eb30904d (patch)
tree527f8cf89dd1c2321920c1b8ca8856ce58422494
parent9e27c1b89e196535e1835dc2a2fcdf0be2d1dd6b (diff)
downloadmeson-0635be0dee86b8314f8699376a5a6376eb30904d.tar.gz
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.
-rw-r--r--mesonbuild/compilers/mixins/visualstudio.py4
1 files changed, 4 insertions, 0 deletions
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