gitlab-ci: Update Windows jobs to VS 2022
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e828475..79e970b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -723,34 +723,34 @@
 
 # Windows builds
 
-build:windows-vs2019-x64-ninja:
+build:windows-vs2022-x64-ninja:
     extends:
-        - .windows_vs2019_x64_ninja
+        - .windows_vs2022_x64_ninja
         - .cmake_build_windows
         - .cmake_build_artifacts
-        - .windows_tags_nonconcurrent_vs2019
+        - .windows_tags_nonconcurrent_vs2022
         - .run_manually
 
-test:windows-vs2019-x64-ninja:
+test:windows-vs2022-x64-ninja:
     extends:
-        - .windows_vs2019_x64_ninja
+        - .windows_vs2022_x64_ninja
         - .cmake_test_windows
-        - .windows_tags_nonconcurrent_vs2019
+        - .windows_tags_nonconcurrent_vs2022
         - .cmake_test_artifacts
         - .run_dependent
     dependencies:
-        - build:windows-vs2019-x64-ninja
+        - build:windows-vs2022-x64-ninja
     needs:
-        - build:windows-vs2019-x64-ninja
+        - build:windows-vs2022-x64-ninja
 
-test:windows-vs2019-x64:
+test:windows-vs2022-x64:
     extends:
-        - .windows_vs2019_x64
+        - .windows_vs2022_x64
         - .cmake_test_windows_external
-        - .windows_tags_concurrent_vs2019
+        - .windows_tags_concurrent_vs2022
         - .cmake_junit_artifacts
         - .run_dependent
     dependencies:
-        - test:windows-vs2019-x64-ninja
+        - test:windows-vs2022-x64-ninja
     needs:
-        - test:windows-vs2019-x64-ninja
+        - test:windows-vs2022-x64-ninja
diff --git a/.gitlab/ci/configure_windows_vs2019_x64.cmake b/.gitlab/ci/configure_windows_vs2022_x64.cmake
similarity index 100%
rename from .gitlab/ci/configure_windows_vs2019_x64.cmake
rename to .gitlab/ci/configure_windows_vs2022_x64.cmake
diff --git a/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
similarity index 100%
rename from .gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
rename to .gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
diff --git a/.gitlab/ci/download_qt.cmake b/.gitlab/ci/download_qt.cmake
index 3990430..5940a28 100644
--- a/.gitlab/ci/download_qt.cmake
+++ b/.gitlab/ci/download_qt.cmake
@@ -18,7 +18,8 @@
     set(msvc_year "2015")
     set(qt_abi "win64_msvc${msvc_year}_64")
   elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2017" OR
-          "$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2019")
+          "$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2019" OR
+          "$ENV{CMAKE_CONFIGURATION}" MATCHES "vs2022")
     set(qt_platform "windows_x86")
     set(msvc_year "2019")
     set(qt_abi "win64_msvc${msvc_year}_64")
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index 91d62ac..a119433 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -31,45 +31,45 @@
         CMAKE_CI_BUILD_TYPE: Release
         CTEST_NO_WARNINGS_ALLOWED: 1
 
-.windows_vs2019_x64_ninja:
+.windows_vs2022_x64_ninja:
     extends: .windows_ninja
 
     variables:
-        CMAKE_CONFIGURATION: windows_vs2019_x64_ninja
-        VCVARSALL: "${VS160COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
+        CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
+        VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
         VCVARSPLATFORM: "x64"
-        VCVARSVERSION: "14.29.30133"
+        VCVARSVERSION: "14.30.30705"
 
 ### External testing
 
-.windows_vs2019_x64:
+.windows_vs2022_x64:
     extends: .windows
 
     variables:
-        CMAKE_CONFIGURATION: windows_vs2019_x64
-        CMAKE_GENERATOR: "Visual Studio 16 2019"
+        CMAKE_CONFIGURATION: windows_vs2022_x64
+        CMAKE_GENERATOR: "Visual Studio 17 2022"
         CMAKE_GENERATOR_PLATFORM: "x64"
-        CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
+        CMAKE_GENERATOR_TOOLSET: "v143,version=14.30.30705"
         CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
 
 ## Tags
 
-.windows_tags_nonconcurrent_vs2019:
+.windows_tags_nonconcurrent_vs2022:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - windows
         - shell
-        - vs2019
-        - msvc-19.29-16.11
+        - vs2022
+        - msvc-19.30
         - nonconcurrent
 
-.windows_tags_concurrent_vs2019:
+.windows_tags_concurrent_vs2022:
     tags:
         - cmake # Since this is a bare runner, pin to a project.
         - windows
         - shell
-        - vs2019
-        - msvc-19.29-16.11
+        - vs2022
+        - msvc-19.30
         - concurrent
 
 ## Windows-specific scripts