Update VS module version check.

pull/8542/head
Jussi Pakkanen 4 years ago
parent a0c16f94fc
commit ecd8c7e4af
  1. 6
      mesonbuild/mesonlib/universal.py
  2. 2
      run_project_tests.py
  3. 2
      run_unittests.py

@ -685,6 +685,12 @@ def detect_vcs(source_dir: T.Union[str, Path]) -> T.Optional[T.Dict[str, str]]:
def current_vs_supports_modules() -> bool:
vsver = os.environ.get('VSCMD_VER', '')
nums = vsver.split('.', 2)
major = int(nums[0])
if major >= 17:
return True
if major == 16 and int(nums[1]) >= 10:
return True
return vsver.startswith('16.9.0') and '-pre.' in vsver
# a helper class which implements the same version ordering as RPM

@ -1338,6 +1338,8 @@ if __name__ == '__main__':
print('Meson build system', meson_version, 'Project Tests')
print('Using python', sys.version.split('\n')[0])
if 'VSCMD_VER' in os.environ:
print('VSCMD version', os.environ['VSCMD_VER'])
setup_commands(options.backend)
detect_system_compiler(options)
print_tool_versions()

@ -6230,7 +6230,7 @@ class WindowsTests(BasePlatformTests):
raise unittest.SkipTest(f'C++ modules only work with the Ninja backend (not {self.backend.name}).')
if 'VSCMD_VER' not in os.environ:
raise unittest.SkipTest('C++ modules is only supported with Visual Studio.')
if version_compare(os.environ['VSCMD_VER'], '<16.9.0'):
if version_compare(os.environ['VSCMD_VER'], '<16.10.0'):
raise unittest.SkipTest('C++ modules are only supported with VS 2019 Preview or newer.')
self.init(os.path.join(self.unit_test_dir, '87 cpp modules'))
self.build()

Loading…
Cancel
Save