Browse Source

Merge topic 'ci-msvc-14.40'

0070708ae1 gitlab-ci: Update Windows builds to MSVC 14.40 toolset
41e777274a Tests: Update BuildDepends test for VS 17.10
f26e8886b3 cmake-gui: Suppress MSVC deprecation warnings from Qt headers

Acked-by: Kitware Robot <[email protected]>
Merge-request: !9560
Brad King 1 year ago
parent
commit
719b461b9c

+ 12 - 12
.gitlab/os-windows.yml

@@ -35,25 +35,25 @@
     variables:
         VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
         VCVARSPLATFORM: "x64"
-        VCVARSVERSION: "14.36.32532"
+        VCVARSVERSION: "14.40.33807"
 
 .windows_vcvarsall_vs2022_x86:
     variables:
         VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
         VCVARSPLATFORM: "x86"
-        VCVARSVERSION: "14.36.32532"
+        VCVARSVERSION: "14.40.33807"
 
 .windows_vcvarsall_vs2022_x64_arm64:
     variables:
         VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
         VCVARSPLATFORM: "x64_arm64"
-        VCVARSVERSION: "14.36.32532"
+        VCVARSVERSION: "14.40.33807"
 
 .windows_arm64_vcvarsall_vs2022:
     variables:
         VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
         VCVARSPLATFORM: "arm64"
-        VCVARSVERSION: "14.36.32532"
+        VCVARSVERSION: "14.40.33807"
 
 .windows_vs2022_x64_pch:
     extends:
@@ -119,7 +119,7 @@
         CMAKE_CONFIGURATION: windows_vs2022_x64
         CMAKE_GENERATOR: "Visual Studio 17 2022"
         CMAKE_GENERATOR_PLATFORM: "x64"
-        CMAKE_GENERATOR_TOOLSET: "v143,version=14.36.32532"
+        CMAKE_GENERATOR_TOOLSET: "v143,version=14.40.33807"
         CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
 
 .windows_vs2019_x64:
@@ -282,7 +282,7 @@
         CMAKE_CONFIGURATION: windows_arm64_vs2022
         CMAKE_GENERATOR: "Visual Studio 17 2022"
         CMAKE_GENERATOR_PLATFORM: "ARM64"
-        CMAKE_GENERATOR_TOOLSET: "v143,version=14.36.32532"
+        CMAKE_GENERATOR_TOOLSET: "v143,version=14.40.33807"
         CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
 
 .mingw_osdn_io:
@@ -316,7 +316,7 @@
         - windows-x86_64
         - shell
         - vs2022
-        - msvc-19.36
+        - msvc-14.40
         - nonconcurrent
 
 .windows_x86_64_tags_nonconcurrent_vs2022_arm64:
@@ -325,7 +325,7 @@
         - windows-x86_64
         - shell
         - vs2022
-        - msvc-19.36-arm64
+        - msvc-14.40-arm64
         - nonconcurrent
 
 .windows_x86_64_tags_concurrent_vs2022:
@@ -334,7 +334,7 @@
         - windows-x86_64
         - shell
         - vs2022
-        - msvc-19.36
+        - msvc-14.40
         - concurrent
 
 .windows_x86_64_tags_concurrent_vs2022_android:
@@ -344,7 +344,7 @@
         - shell
         - vs2022
         - vs17-android
-        - msvc-19.36
+        - msvc-14.40
         - concurrent
 
 .windows_x86_64_tags_concurrent_vs2019_android:
@@ -370,7 +370,7 @@
         - windows-arm64
         - shell
         - vs2022
-        - msvc-19.36
+        - msvc-14.40
         - nonconcurrent
 
 .windows_arm64_tags_concurrent_vs2022:
@@ -379,7 +379,7 @@
         - windows-arm64
         - shell
         - vs2022
-        - msvc-19.36
+        - msvc-14.40
         - concurrent
 
 ## Windows-specific scripts

+ 5 - 0
Source/QtDialog/CMakeLists.txt

@@ -48,6 +48,11 @@ if(WIN32)
   endif()
 endif()
 
+if(MSVC)
+  # QTBUG-118993: Qt uses deprecated stdext::checked_array_iterator
+  add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
+endif()
+
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt${INSTALLED_QT_VERSION}Widgets_EXECUTABLE_COMPILE_FLAGS}")
 
 if(CMake_QT_STATIC_QXcbIntegrationPlugin_LIBRARIES)

+ 22 - 13
Tests/BuildDepends/CMakeLists.txt

@@ -12,6 +12,15 @@ project(BuildDepends)
 # project is built.
 set(CMAKE_SUPPRESS_REGENERATION 1)
 
+if(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_VS_PLATFORM_TOOLSET MATCHES "^(v90|v100|v110|v120|v140)$")
+  # These toolsets update 'link_depends_no_shared_lib.lib' during rebuild in Release mode.
+  set(config Debug)
+else()
+  # Some toolsets update 'link_depends_no_shared_lib.pdb' during rebuild in Debug mode.
+  set(config Release)
+endif()
+set(CMAKE_TRY_COMPILE_CONFIGURATION "${config}")
+
 # Xcode needs some help with the fancy dependencies in this test.
 if(XCODE AND XCODE_VERSION VERSION_LESS 5)
   set(HELP_XCODE 1)
@@ -117,10 +126,10 @@ endif()
 # find and save the ninjadep executable
 set(ninjadep ${BuildDepends_BINARY_DIR}/Project/ninjadep${CMAKE_EXECUTABLE_SUFFIX})
 if(EXISTS
-    "${BuildDepends_BINARY_DIR}/Project/Debug/ninjadep${CMAKE_EXECUTABLE_SUFFIX}" )
-  message("found debug")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/ninjadep${CMAKE_EXECUTABLE_SUFFIX}" )
+  message("found ${config}/ninjadep${CMAKE_EXECUTABLE_SUFFIX}")
   set(ninjadep
-    "${BuildDepends_BINARY_DIR}/Project/Debug/ninjadep${CMAKE_EXECUTABLE_SUFFIX}")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/ninjadep${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 message("Running ${ninjadep}  ")
 execute_process(COMMAND ${ninjadep} OUTPUT_VARIABLE out RESULT_VARIABLE runResult)
@@ -136,17 +145,17 @@ endif()
 
 set(bar ${BuildDepends_BINARY_DIR}/Project/bar${CMAKE_EXECUTABLE_SUFFIX})
 if(EXISTS
-    "${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}" )
-  message("found debug")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/bar${CMAKE_EXECUTABLE_SUFFIX}" )
+  message("found ${config}/bar${CMAKE_EXECUTABLE_SUFFIX}")
   set(bar
-    "${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/bar${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 set(zot ${BuildDepends_BINARY_DIR}/Project/zot${CMAKE_EXECUTABLE_SUFFIX})
 if(EXISTS
-    "${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}" )
-  message("found debug")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/zot${CMAKE_EXECUTABLE_SUFFIX}" )
+  message("found ${config}/zot${CMAKE_EXECUTABLE_SUFFIX}")
   set(zot
-    "${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/zot${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 
 message("Running ${bar}  ")
@@ -305,12 +314,12 @@ if(NOT RESULT)
   message(SEND_ERROR "Could not build test project (2)!")
 endif()
 if(EXISTS
-    "${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}" )
-  message("found debug")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/bar${CMAKE_EXECUTABLE_SUFFIX}" )
+  message("found ${config}/bar${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 if(EXISTS
-    "${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}" )
-  message("found debug")
+    "${BuildDepends_BINARY_DIR}/Project/${config}/zot${CMAKE_EXECUTABLE_SUFFIX}" )
+  message("found ${config}/zot${CMAKE_EXECUTABLE_SUFFIX}")
 endif()
 
 message("Running ${ninjadep}  ")

+ 5 - 0
Tests/CMakeGUI/CMakeLists.txt

@@ -2,6 +2,11 @@ include(CMakeParseArguments)
 
 find_package(Qt5Test REQUIRED)
 
+if(MSVC)
+  # QTBUG-118993: Qt uses deprecated stdext::checked_array_iterator
+  add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
+endif()
+
 include_directories(
   ${CMake_SOURCE_DIR}/Source
   ${CMake_SOURCE_DIR}/Source/QtDialog