File opencv3-pr19384-tbb2021.patch of Package opencv3

From 694fe3e7d2297bbd223d1731af4f7fec65125e88 Mon Sep 17 00:00:00 2001
From: Maksim Shabunin <maksim.shabunin@gmail.com>
Date: Sun, 24 Jan 2021 04:12:40 +0300
Subject: [PATCH 1/2] core, gapi: supported build with oneTBB 2021

---
 3rdparty/tbb/CMakeLists.txt                            |  2 +-
 cmake/OpenCVDetectTBB.cmake                            |  9 +++++----
 modules/core/src/parallel.cpp                          |  1 -
 modules/gapi/src/executor/gtbbexecutor.cpp             |  6 ++++--
 modules/gapi/src/executor/gtbbexecutor.hpp             |  7 ++++++-
 .../gapi/test/executor/gtbbexecutor_internal_tests.cpp | 10 ++++++++--
 6 files changed, 24 insertions(+), 11 deletions(-)

Index: opencv-3.4.16/3rdparty/tbb/CMakeLists.txt
===================================================================
--- opencv-3.4.16.orig/3rdparty/tbb/CMakeLists.txt
+++ opencv-3.4.16/3rdparty/tbb/CMakeLists.txt
@@ -170,4 +170,4 @@ ocv_install_target(tbb EXPORT OpenCVModu
 
 ocv_install_3rdparty_licenses(tbb "${tbb_src_dir}/LICENSE" "${tbb_src_dir}/README")
 
-ocv_tbb_read_version("${tbb_src_dir}/include")
+ocv_tbb_read_version("${tbb_src_dir}/include" tbb)
Index: opencv-3.4.16/cmake/OpenCVDetectTBB.cmake
===================================================================
--- opencv-3.4.16.orig/cmake/OpenCVDetectTBB.cmake
+++ opencv-3.4.16/cmake/OpenCVDetectTBB.cmake
@@ -19,7 +19,7 @@
 #   - "tbb" target exists and added to OPENCV_LINKER_LIBS
 
 function(ocv_tbb_cmake_guess _found)
-    find_package(TBB QUIET COMPONENTS tbb PATHS "$ENV{TBBROOT}/cmake")
+    find_package(TBB QUIET COMPONENTS tbb PATHS "$ENV{TBBROOT}/cmake" "$ENV{TBBROOT}/lib/cmake/tbb")
     if(TBB_FOUND)
       if(NOT TARGET TBB::tbb)
         message(WARNING "No TBB::tbb target found!")
@@ -28,11 +28,11 @@ function(ocv_tbb_cmake_guess _found)
       get_target_property(_lib TBB::tbb IMPORTED_LOCATION_RELEASE)
       message(STATUS "Found TBB (cmake): ${_lib}")
       get_target_property(_inc TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
-      ocv_tbb_read_version("${_inc}")
       add_library(tbb INTERFACE IMPORTED)
       set_target_properties(tbb PROPERTIES
         INTERFACE_LINK_LIBRARIES TBB::tbb
       )
+      ocv_tbb_read_version("${_inc}" tbb)
       set(${_found} TRUE PARENT_SCOPE)
     endif()
 endfunction()
@@ -66,7 +66,6 @@ function(ocv_tbb_env_guess _found)
   find_library(TBB_ENV_LIB_DEBUG NAMES "tbb_debug")
   if (TBB_ENV_INCLUDE AND (TBB_ENV_LIB OR TBB_ENV_LIB_DEBUG))
     ocv_tbb_env_verify()
-    ocv_tbb_read_version("${TBB_ENV_INCLUDE}")
     add_library(tbb UNKNOWN IMPORTED)
     set_target_properties(tbb PROPERTIES
       IMPORTED_LOCATION "${TBB_ENV_LIB}"
@@ -82,12 +81,14 @@ function(ocv_tbb_env_guess _found)
       get_filename_component(_dir "${TBB_ENV_LIB}" DIRECTORY)
       set_target_properties(tbb PROPERTIES INTERFACE_LINK_LIBRARIES "-L${_dir}")
     endif()
+    ocv_tbb_read_version("${TBB_ENV_INCLUDE}" tbb)
     message(STATUS "Found TBB (env): ${TBB_ENV_LIB}")
     set(${_found} TRUE PARENT_SCOPE)
   endif()
 endfunction()
 
-function(ocv_tbb_read_version _path)
+function(ocv_tbb_read_version _path _tgt)
+  find_file(TBB_VER_FILE oneapi/tbb/version.h "${_path}" NO_DEFAULT_PATH CMAKE_FIND_ROOT_PATH_BOTH)
   find_file(TBB_VER_FILE tbb/tbb_stddef.h "${_path}" NO_DEFAULT_PATH CMAKE_FIND_ROOT_PATH_BOTH)
   ocv_parse_header("${TBB_VER_FILE}" TBB_VERSION_LINES TBB_VERSION_MAJOR TBB_VERSION_MINOR TBB_INTERFACE_VERSION CACHE)
 endfunction()
Index: opencv-3.4.16/modules/core/src/parallel.cpp
===================================================================
--- opencv-3.4.16.orig/modules/core/src/parallel.cpp
+++ opencv-3.4.16/modules/core/src/parallel.cpp
@@ -101,7 +101,6 @@
     #endif
     #include "tbb/tbb.h"
     #include "tbb/task.h"
-    #include "tbb/tbb_stddef.h"
     #if TBB_INTERFACE_VERSION >= 8000
         #include "tbb/task_arena.h"
     #endif
Index: opencv-3.4.16/cmake/OpenCVFindMKL.cmake
===================================================================
--- opencv-3.4.16.orig/cmake/OpenCVFindMKL.cmake
+++ opencv-3.4.16/cmake/OpenCVFindMKL.cmake
@@ -118,16 +118,10 @@ if(MKL_USE_SINGLE_DYNAMIC_LIBRARY AND NO
 
 elseif(NOT (MKL_VERSION_STR VERSION_LESS "11.3.0"))
 
-  foreach(MKL_ARCH ${MKL_ARCH_LIST})
-    list(APPEND mkl_lib_find_paths
-      ${MKL_ROOT_DIR}/../tbb/lib/${MKL_ARCH}
-    )
-  endforeach()
-
   set(mkl_lib_list "mkl_intel_${MKL_ARCH_SUFFIX}")
 
   if(MKL_WITH_TBB)
-    list(APPEND mkl_lib_list mkl_tbb_thread tbb)
+    list(APPEND mkl_lib_list mkl_tbb_thread)
   elseif(MKL_WITH_OPENMP)
     if(MSVC)
       list(APPEND mkl_lib_list mkl_intel_thread libiomp5md)
@@ -155,6 +149,7 @@ if(NOT MKL_LIBRARIES)
     endif()
     list(APPEND MKL_LIBRARIES ${${lib_var_name}})
   endforeach()
+  list(APPEND MKL_LIBRARIES ${OPENCV_EXTRA_MKL_LIBRARIES})
 endif()
 
 message(STATUS "Found MKL ${MKL_VERSION_STR} at: ${MKL_ROOT_DIR}")
openSUSE Build Service is sponsored by