From 170bf3371cabc1529f3fa2fc2e28173838adeffd Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 4 Jun 2024 08:47:20 +0800 Subject: [PATCH 1/2] Fix dep build with latest vs2022 --- deps/deps-windows.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index aba6fcab499..87268a5585d 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -15,8 +15,8 @@ elseif (MSVC_VERSION LESS 1930) # 1920-1929 = VS 16.0 (v142 toolset) set(DEP_VS_VER "16") set(DEP_BOOST_TOOLSET "msvc-14.2") -elseif (MSVC_VERSION LESS 1940) -# 1930-1939 = VS 17.0 (v143 toolset) +elseif (MSVC_VERSION LESS 1950) +# 1930-1949 = VS 17.0 (v143 toolset) set(DEP_VS_VER "17") set(DEP_BOOST_TOOLSET "msvc-14.3") else () From 55b918739d89b0b2587b22b63eba958aa58465f0 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 4 Jun 2024 09:50:04 +0800 Subject: [PATCH 2/2] Fix opencv build with latest vs2022 --- deps/OpenCV/0001-vs2022.patch | 52 +++++++++++++++++++++++++++++++++++ deps/OpenCV/OpenCV.cmake | 1 + 2 files changed, 53 insertions(+) create mode 100644 deps/OpenCV/0001-vs2022.patch diff --git a/deps/OpenCV/0001-vs2022.patch b/deps/OpenCV/0001-vs2022.patch new file mode 100644 index 00000000000..6e5aba84e86 --- /dev/null +++ b/deps/OpenCV/0001-vs2022.patch @@ -0,0 +1,52 @@ +From 6fb3f6333150a777e835fc7c48e49750591bf7fe Mon Sep 17 00:00:00 2001 +From: Benjamin Buch +Date: Thu, 23 May 2024 16:05:19 +0200 +Subject: [PATCH] Support VS 2022 17.1x.y + +With 17.10.0 the MSVC toolset was set to 19.40.x which breaks the compatibility test in the OpenCV's CMake Config files. +--- + cmake/templates/OpenCVConfig.root-WIN32.cmake.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/templates/OpenCVConfig.root-WIN32.cmake.in b/cmake/templates/OpenCVConfig.root-WIN32.cmake.in +index b0f254ebe8..62e36272f3 100644 +--- a/cmake/templates/OpenCVConfig.root-WIN32.cmake.in ++++ b/cmake/templates/OpenCVConfig.root-WIN32.cmake.in +@@ -137,7 +137,7 @@ elseif(MSVC) + set(OpenCV_RUNTIME vc14) # selecting previous compatible runtime version + endif() + endif() +- elseif(MSVC_VERSION MATCHES "^193[0-9]$") ++ elseif(MSVC_VERSION MATCHES "^19[34][0-9]$") + set(OpenCV_RUNTIME vc17) + check_one_config(has_VS2022) + if(NOT has_VS2022) +-- +2.45.2.windows.1 + +From f85818ba6f9031c450475a7453dee0acce31a881 Mon Sep 17 00:00:00 2001 +From: Benjamin Buch +Date: Fri, 24 May 2024 11:10:09 +0200 +Subject: [PATCH] Support VS 2022 17.1x.y in OpenCVDetectCXXCompiler.cmake + +With 17.10.0 the MSVC toolset was set to 19.40.x which breaks the compatibility test in the OpenCV's CMake Config files. +--- + cmake/OpenCVDetectCXXCompiler.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/OpenCVDetectCXXCompiler.cmake b/cmake/OpenCVDetectCXXCompiler.cmake +index 1743aca11f..448afd46ea 100644 +--- a/cmake/OpenCVDetectCXXCompiler.cmake ++++ b/cmake/OpenCVDetectCXXCompiler.cmake +@@ -176,7 +176,7 @@ elseif(MSVC) + set(OpenCV_RUNTIME vc15) + elseif(MSVC_VERSION MATCHES "^192[0-9]$") + set(OpenCV_RUNTIME vc16) +- elseif(MSVC_VERSION MATCHES "^193[0-9]$") ++ elseif(MSVC_VERSION MATCHES "^19[34][0-9]$") + set(OpenCV_RUNTIME vc17) + else() + message(WARNING "OpenCV does not recognize MSVC_VERSION \"${MSVC_VERSION}\". Cannot set OpenCV_RUNTIME") +-- +2.45.2.windows.1 + diff --git a/deps/OpenCV/OpenCV.cmake b/deps/OpenCV/OpenCV.cmake index 5a4090919b5..6d62b018af6 100644 --- a/deps/OpenCV/OpenCV.cmake +++ b/deps/OpenCV/OpenCV.cmake @@ -7,6 +7,7 @@ endif () orcaslicer_add_cmake_project(OpenCV URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277 + PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-vs2022.patch CMAKE_ARGS -DBUILD_SHARED_LIBS=0 -DBUILD_PERE_TESTS=OFF