Files
opencv-mobile/patches/opencv-4.12.0-link-openmp.patch
nihui ba8975050b update to opencv 4.12.0 (#204)
* drop OpenCV-Linux.cmake
2025-08-03 19:30:25 +08:00

66 lines
2.8 KiB
Diff

diff -Nuarp opencv-4.12.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.12.0/cmake/OpenCVGenConfig.cmake
--- opencv-4.12.0.orig/cmake/OpenCVGenConfig.cmake 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/OpenCVGenConfig.cmake 2025-07-13 20:44:03.721541472 +0800
@@ -19,6 +19,10 @@ if(HAVE_CUDA)
endif()
endif()
+if(HAVE_OPENMP)
+ ocv_cmake_configure("${CMAKE_CURRENT_LIST_DIR}/templates/OpenCVConfig-OPENMP.cmake.in" OPENMP_CONFIGCMAKE @ONLY)
+endif()
+
if(ANDROID)
if(NOT ANDROID_NATIVE_API_LEVEL)
set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE 0)
diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.12.0/cmake/templates/OpenCVConfig.cmake.in
--- opencv-4.12.0.orig/cmake/templates/OpenCVConfig.cmake.in 2025-07-02 15:54:13.000000000 +0800
+++ opencv-4.12.0/cmake/templates/OpenCVConfig.cmake.in 2025-07-13 20:44:03.721676457 +0800
@@ -94,6 +94,7 @@ endif()
@CUDA_CONFIGCMAKE@
+@OPENMP_CONFIGCMAKE@
@ANDROID_CONFIGCMAKE@
@IPPICV_CONFIGCMAKE@
diff -Nuarp opencv-4.12.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.12.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in
--- opencv-4.12.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800
+++ opencv-4.12.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2025-07-13 20:44:03.721720150 +0800
@@ -0,0 +1,5 @@
+set(OpenCV_USE_OPENMP "@HAVE_OPENMP@")
+
+if(OpenCV_USE_OPENMP)
+ find_package(OpenMP)
+endif()
diff -Nuarp opencv-4.12.0.orig/modules/core/CMakeLists.txt opencv-4.12.0/modules/core/CMakeLists.txt
--- opencv-4.12.0.orig/modules/core/CMakeLists.txt 2025-07-13 20:34:53.411195513 +0800
+++ opencv-4.12.0/modules/core/CMakeLists.txt 2025-07-13 20:44:03.721762991 +0800
@@ -205,8 +205,14 @@ if(HAVE_HPX)
ocv_target_link_libraries(${the_module} LINK_PRIVATE "${HPX_LIBRARIES}")
endif()
-if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES)
- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}")
+if(HAVE_OPENMP)
+ if(ANDROID_NDK_MAJOR AND (ANDROID_NDK_MAJOR GREATER 20))
+ ocv_target_link_libraries(${the_module} PUBLIC "-fopenmp" "-static-openmp")
+ elseif(OpenMP_CXX_FOUND)
+ ocv_target_link_libraries(${the_module} PUBLIC OpenMP::OpenMP_CXX)
+ else()
+ ocv_target_link_libraries(${the_module} PUBLIC "${OpenMP_CXX_FLAGS}")
+ endif()
endif()
ocv_add_accuracy_tests()
diff -Nuarp opencv-4.12.0.orig/modules/video/CMakeLists.txt opencv-4.12.0/modules/video/CMakeLists.txt
--- opencv-4.12.0.orig/modules/video/CMakeLists.txt 2025-07-13 20:34:54.325975364 +0800
+++ opencv-4.12.0/modules/video/CMakeLists.txt 2025-07-13 20:44:03.721811613 +0800
@@ -10,7 +10,3 @@ ocv_define_module(video
python
js
)
-
-if(HAVE_OPENMP AND DEFINED OpenMP_CXX_LIBRARIES AND OpenMP_CXX_LIBRARIES)
- ocv_target_link_libraries(${the_module} LINK_PRIVATE "${OpenMP_CXX_LIBRARIES}")
-endif()