Files
opencv-mobile/patches/opencv-2.4.13.7-fix-windows-arm-arch.patch
nihui 413f990472 build windows arm (#124)
* Update opencv-2.4.13.7-newer-msvc.patch
* fix windows arm arch detection
2024-06-10 16:45:19 +08:00

51 lines
1.9 KiB
Diff

diff -Nuarp opencv-2.4.13.7.orig/cmake/OpenCVConfig.cmake opencv-2.4.13.7/cmake/OpenCVConfig.cmake
--- opencv-2.4.13.7.orig/cmake/OpenCVConfig.cmake 2018-07-02 20:41:56.000000000 +0800
+++ opencv-2.4.13.7/cmake/OpenCVConfig.cmake 2024-06-10 15:05:13.943493559 +0800
@@ -64,12 +64,17 @@ endif()
if(DEFINED OpenCV_ARCH AND DEFINED OpenCV_RUNTIME)
# custom overrided values
elseif(MSVC)
- if(CMAKE_CL_64)
- set(OpenCV_ARCH x64)
- set(OpenCV_TBB_ARCH intel64)
+ # see Modules/CMakeGenericSystem.cmake
+ if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
+ set(OpenCV_ARCH "x64")
+ elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(ARM64|arm64)")
+ set(OpenCV_ARCH "ARM64")
+ elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(ARM|arm)")
+ set(OpenCV_ARCH "ARM")
+ elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
+ set(OpenCV_ARCH "x64")
else()
set(OpenCV_ARCH x86)
- set(OpenCV_TBB_ARCH ia32)
endif()
if(MSVC_VERSION EQUAL 1400)
set(OpenCV_RUNTIME vc8)
diff -Nuarp opencv-2.4.13.7.orig/cmake/OpenCVDetectCXXCompiler.cmake opencv-2.4.13.7/cmake/OpenCVDetectCXXCompiler.cmake
--- opencv-2.4.13.7.orig/cmake/OpenCVDetectCXXCompiler.cmake 2018-07-02 20:41:56.000000000 +0800
+++ opencv-2.4.13.7/cmake/OpenCVDetectCXXCompiler.cmake 2024-06-10 15:05:01.441716441 +0800
@@ -85,11 +85,19 @@ endif()
if(DEFINED OpenCV_ARCH AND DEFINED OpenCV_RUNTIME)
# custom overrided values
elseif(MSVC)
- if(CMAKE_CL_64)
- set(OpenCV_ARCH x64)
+ # see Modules/CMakeGenericSystem.cmake
+ if("${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)")
+ set(OpenCV_ARCH "x64")
+ elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(ARM64|arm64)")
+ set(OpenCV_ARCH "ARM64")
+ elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "(ARM|arm)")
+ set(OpenCV_ARCH "ARM")
+ elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
+ set(OpenCV_ARCH "x64")
else()
set(OpenCV_ARCH x86)
endif()
+
if(MSVC_VERSION EQUAL 1400)
set(OpenCV_RUNTIME vc8)
elseif(MSVC_VERSION EQUAL 1500)