Update VS module version check.
This commit is contained in:
parent
a0c16f94fc
commit
ecd8c7e4af
|
@ -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:
|
def current_vs_supports_modules() -> bool:
|
||||||
vsver = os.environ.get('VSCMD_VER', '')
|
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
|
return vsver.startswith('16.9.0') and '-pre.' in vsver
|
||||||
|
|
||||||
# a helper class which implements the same version ordering as RPM
|
# 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('Meson build system', meson_version, 'Project Tests')
|
||||||
print('Using python', sys.version.split('\n')[0])
|
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)
|
setup_commands(options.backend)
|
||||||
detect_system_compiler(options)
|
detect_system_compiler(options)
|
||||||
print_tool_versions()
|
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}).')
|
raise unittest.SkipTest(f'C++ modules only work with the Ninja backend (not {self.backend.name}).')
|
||||||
if 'VSCMD_VER' not in os.environ:
|
if 'VSCMD_VER' not in os.environ:
|
||||||
raise unittest.SkipTest('C++ modules is only supported with Visual Studio.')
|
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.')
|
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.init(os.path.join(self.unit_test_dir, '87 cpp modules'))
|
||||||
self.build()
|
self.build()
|
||||||
|
|
Loading…
Reference in New Issue