Update VS module version check.
diff --git a/mesonbuild/mesonlib/universal.py b/mesonbuild/mesonlib/universal.py
index b0c50c8..b0b987e 100644
--- a/mesonbuild/mesonlib/universal.py
+++ b/mesonbuild/mesonlib/universal.py
@@ -685,6 +685,12 @@
 
 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
diff --git a/run_project_tests.py b/run_project_tests.py
index 149caa2..ab97ca9 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -1338,6 +1338,8 @@
 
     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()
diff --git a/run_unittests.py b/run_unittests.py
index 8134261..a381ae5 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -6230,7 +6230,7 @@
             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()