Files
opencv-mobile/opencv-4.8.1-link-openmp.patch
2023-10-11 11:11:09 +08:00

66 lines
2.9 KiB
Diff

diff -Nuarp opencv-4.8.0.orig/cmake/OpenCVGenConfig.cmake opencv-4.8.0/cmake/OpenCVGenConfig.cmake
--- opencv-4.8.0.orig/cmake/OpenCVGenConfig.cmake 2023-06-28 19:53:33.000000000 +0800
+++ opencv-4.8.0/cmake/OpenCVGenConfig.cmake 2023-09-06 21:48:20.917155155 +0800
@@ -15,6 +15,10 @@ if(HAVE_CUDA)
ocv_cmake_configure("${CMAKE_CURRENT_LIST_DIR}/templates/OpenCVConfig-CUDA.cmake.in" CUDA_CONFIGCMAKE @ONLY)
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.8.0.orig/cmake/templates/OpenCVConfig.cmake.in opencv-4.8.0/cmake/templates/OpenCVConfig.cmake.in
--- opencv-4.8.0.orig/cmake/templates/OpenCVConfig.cmake.in 2023-06-28 19:53:33.000000000 +0800
+++ opencv-4.8.0/cmake/templates/OpenCVConfig.cmake.in 2023-09-06 21:48:20.918155150 +0800
@@ -94,6 +94,7 @@ endif()
@CUDA_CONFIGCMAKE@
+@OPENMP_CONFIGCMAKE@
@ANDROID_CONFIGCMAKE@
@IPPICV_CONFIGCMAKE@
diff -Nuarp opencv-4.8.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in opencv-4.8.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in
--- opencv-4.8.0.orig/cmake/templates/OpenCVConfig-OPENMP.cmake.in 1970-01-01 08:00:00.000000000 +0800
+++ opencv-4.8.0/cmake/templates/OpenCVConfig-OPENMP.cmake.in 2023-09-06 21:48:20.918155150 +0800
@@ -0,0 +1,5 @@
+set(OpenCV_USE_OPENMP "@HAVE_OPENMP@")
+
+if(OpenCV_USE_OPENMP)
+ find_package(OpenMP)
+endif()
diff -Nuarp opencv-4.8.0.orig/modules/core/CMakeLists.txt opencv-4.8.0/modules/core/CMakeLists.txt
--- opencv-4.8.0.orig/modules/core/CMakeLists.txt 2023-06-28 19:53:33.000000000 +0800
+++ opencv-4.8.0/modules/core/CMakeLists.txt 2023-09-06 21:48:20.918155150 +0800
@@ -169,8 +169,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.8.0.orig/modules/video/CMakeLists.txt opencv-4.8.0/modules/video/CMakeLists.txt
--- opencv-4.8.0.orig/modules/video/CMakeLists.txt 2023-06-28 19:53:33.000000000 +0800
+++ opencv-4.8.0/modules/video/CMakeLists.txt 2023-09-06 21:49:26.506840789 +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()