aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Claesson <nicke.claesson@gmail.com>2017-09-06 23:53:49 +0200
committerNiklas Claesson <nicke.claesson@gmail.com>2017-10-01 18:35:33 +0200
commit488e57332f2264594ec8e05369664c6a7833f692 (patch)
tree38363b8ed310cc9b365cacefc1e0cfe8d5821792
parentae532c807c61afa51c17222d284475c1984e0ec8 (diff)
downloadmeson-488e57332f2264594ec8e05369664c6a7833f692.zip
meson-488e57332f2264594ec8e05369664c6a7833f692.tar.gz
meson-488e57332f2264594ec8e05369664c6a7833f692.tar.bz2
VisualC: Add support for msvc toolset version
-rw-r--r--mesonbuild/compilers/c.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index 82b1ef0..d4da2da 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -1056,3 +1056,29 @@ class VisualStudioCCompiler(CCompiler):
# and the can not be called.
return None
return vs32_instruction_set_args.get(instruction_set, None)
+
+ def get_toolset_version(self):
+ # See boost/config/compiler/visualc.cpp for up to date mapping
+ try:
+ version = int(''.join(self.version.split('.')[0:2]))
+ except:
+ return None
+ if version < 1310:
+ return '7.0'
+ elif version < 1400:
+ return '7.1' # (Visual Studio 2003)
+ elif version < 1500:
+ return '8.0' # (Visual Studio 2005)
+ elif version < 1600:
+ return '9.0' # (Visual Studio 2008)
+ elif version < 1700:
+ return '10.0' # (Visual Studio 2010)
+ elif version < 1800:
+ return '11.0' # (Visual Studio 2012)
+ elif version < 1900:
+ return '12.0' # (Visual Studio 2013)
+ elif version < 1910:
+ return '14.0' # (Visual Studio 2015)
+ elif version < 1920:
+ return '14.1' # (Visual Studio 2017)
+ return None