vs: Update toolset table for VS 2019

Also add a test to ensure that we don't forget it in the future.
pull/5266/head
Nirbheek Chauhan 6 years ago committed by Nirbheek Chauhan
parent 3c86520b6f
commit 7654db511c
  1. 3
      mesonbuild/compilers/c.py
  2. 16
      run_unittests.py

@ -1674,6 +1674,9 @@ class VisualStudioCCompiler(CCompiler):
return '14.0' # (Visual Studio 2015) return '14.0' # (Visual Studio 2015)
elif version < 1920: elif version < 1920:
return '14.1' # (Visual Studio 2017) 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 return None
def get_default_include_dirs(self): def get_default_include_dirs(self):

@ -958,6 +958,22 @@ class InternalTests(unittest.TestCase):
self.assertEqual(ver_a.__cmp__(ver_b), result) self.assertEqual(ver_a.__cmp__(ver_b), result)
self.assertEqual(ver_b.__cmp__(ver_a), -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') @unittest.skipIf(is_tarball(), 'Skipping because this is a tarball release')
class DataTests(unittest.TestCase): class DataTests(unittest.TestCase):

Loading…
Cancel
Save