diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-04-17 19:14:26 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2019-04-18 09:01:23 +0000 |
commit | 7654db511c9341ae4e1b1ccca09d88c6554599b6 (patch) | |
tree | cdf51fa01e3495181a214f389e5d53b6cc567ac2 | |
parent | 3c86520b6f6f9bd4274974496f6a5b56ec9f9ecd (diff) | |
download | meson-7654db511c9341ae4e1b1ccca09d88c6554599b6.zip meson-7654db511c9341ae4e1b1ccca09d88c6554599b6.tar.gz meson-7654db511c9341ae4e1b1ccca09d88c6554599b6.tar.bz2 |
vs: Update toolset table for VS 2019
Also add a test to ensure that we don't forget it in the future.
-rw-r--r-- | mesonbuild/compilers/c.py | 3 | ||||
-rwxr-xr-x | run_unittests.py | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index 12f7838..da9a5dc 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -1674,6 +1674,9 @@ class VisualStudioCCompiler(CCompiler): return '14.0' # (Visual Studio 2015) elif version < 1920: return '14.1' # (Visual Studio 2017) + elif version < 1930: + return '14.2' # (Visual Studio 2019) + mlog.warning('Could not find toolset for version {!r}'.format(self.version)) return None def get_default_include_dirs(self): diff --git a/run_unittests.py b/run_unittests.py index aa93ee3..b28eab2 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -958,6 +958,22 @@ class InternalTests(unittest.TestCase): self.assertEqual(ver_a.__cmp__(ver_b), result) self.assertEqual(ver_b.__cmp__(ver_a), -result) + def test_msvc_toolset_version(self): + ''' + Ensure that the toolset version returns the correct value for this MSVC + ''' + env = get_fake_env() + cc = env.detect_c_compiler(False) + if cc.get_argument_syntax() != 'msvc': + raise unittest.SkipTest('Test only applies to MSVC-like compilers') + toolset_ver = cc.get_toolset_version() + self.assertIsNotNone(toolset_ver) + self.assertIn('VCToolsVersion', os.environ) + vctools_ver = os.environ['VCToolsVersion'] + self.assertTrue(vctools_ver.startswith(toolset_ver), + msg='{!r} does not start with {!r}'.format(vctools_ver, toolset_ver)) + + @unittest.skipIf(is_tarball(), 'Skipping because this is a tarball release') class DataTests(unittest.TestCase): |