You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sz...@apache.org on 2022/01/06 16:51:40 UTC

[nifi-minifi-cpp] branch main updated: MINIFICPP-1705 Upgrade and fix compilation of OpenCV

This is an automated email from the ASF dual-hosted git repository.

szaszm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


The following commit(s) were added to refs/heads/main by this push:
     new 293fcb2  MINIFICPP-1705 Upgrade and fix compilation of OpenCV
293fcb2 is described below

commit 293fcb2827177ad7fc8cc8285b44122d10484995
Author: Gabor Gyimesi <ga...@gmail.com>
AuthorDate: Thu Jan 6 17:42:53 2022 +0100

    MINIFICPP-1705 Upgrade and fix compilation of OpenCV
    
    Loading the OpenCV extension failed due to zlib library not linked to opencv-core library. Upgraded OpenCV to the latest version 4.5.5 and linked our bundled zlib to the opencv-core lib.
    
    Closes #1230
    Signed-off-by: Marton Szasz <sz...@apache.org>
---
 cmake/BundledOpenCV.cmake      | 11 +++++------
 thirdparty/opencv/opencv.patch | 35 -----------------------------------
 2 files changed, 5 insertions(+), 41 deletions(-)

diff --git a/cmake/BundledOpenCV.cmake b/cmake/BundledOpenCV.cmake
index 01773b2..1a48e89 100644
--- a/cmake/BundledOpenCV.cmake
+++ b/cmake/BundledOpenCV.cmake
@@ -16,9 +16,6 @@
 # under the License.
 
 function(use_bundled_opencv SOURCE_DIR BINARY_DIR)
-    set(PATCH_FILE "${SOURCE_DIR}/thirdparty/opencv/opencv.patch")
-    set(PC "${Patch_EXECUTABLE}" -R -p1 -s -f --dry-run -i "${PATCH_FILE}" || "${Patch_EXECUTABLE}" -p1 -i "${PATCH_FILE}")
-
     if (WIN32)
         set(CMAKE_INSTALL_LIBDIR "lib")
     else()
@@ -86,6 +83,7 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR)
             "-DBUILD_FAT_JAVA_LIB=OFF"
             "-DBUILD_PNG=ON"
             "-DBUILD_JPEG=ON"
+            "-DBUILD_OPENJPEG=OFF"
             "-DWITH_1394=OFF"
             "-DWITH_FFMPEG=OFF"
             "-DWITH_GSTREAMER=OFF"
@@ -96,6 +94,7 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR)
             "-DWITH_ITT=OFF"
             "-DWITH_OPENEXR=OFF"
             "-DWITH_WEBP=OFF"
+            "-DWITH_OPENJPEG=OFF"
             "-DWITH_TIFF=OFF")
 
     append_third_party_passthrough_args(OPENCV_CMAKE_ARGS "${OPENCV_CMAKE_ARGS}")
@@ -104,9 +103,8 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR)
     ExternalProject_Add(
             opencv-external
             GIT_REPOSITORY "https://github.com/opencv/opencv.git"
-            GIT_TAG "4.1.0"
+            GIT_TAG "4.5.5"
             SOURCE_DIR "${BINARY_DIR}/thirdparty/opencv-src"
-            PATCH_COMMAND ${PC}
             CMAKE_ARGS ${OPENCV_CMAKE_ARGS}
             BUILD_BYPRODUCTS "${BYPRODUCTS}"
             EXCLUDE_FROM_ALL TRUE
@@ -140,8 +138,9 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR)
 
     add_library(OPENCV::libopencv-core STATIC IMPORTED)
     set_target_properties(OPENCV::libopencv-core PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_core${SUFFIX}")
-    add_dependencies(OPENCV::libopencv-core opencv-external)
+    add_dependencies(OPENCV::libopencv-core opencv-external ZLIB::ZLIB)
     target_include_directories(OPENCV::libopencv-core INTERFACE ${OPENCV_INCLUDE_DIR})
+    target_link_libraries(OPENCV::libopencv-core INTERFACE ZLIB::ZLIB)
 
     add_library(OPENCV::libopencv-flann STATIC IMPORTED)
     set_target_properties(OPENCV::libopencv-flann PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_flann${SUFFIX}")
diff --git a/thirdparty/opencv/opencv.patch b/thirdparty/opencv/opencv.patch
deleted file mode 100644
index 98343d7..0000000
--- a/thirdparty/opencv/opencv.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3a3c9e2ee4..fb487190fe 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -516,14 +516,7 @@ if(ANDROID OR WIN32)
-   ocv_update(OPENCV_DOC_INSTALL_PATH doc)
- endif()
-
--if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
--  if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
--    ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
--  else()
--    message(STATUS "Can't detect runtime and/or arch")
--    ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
--  endif()
--elseif(ANDROID)
-+if(ANDROID)
-   ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/")
- else()
-   ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
-@@ -571,12 +564,8 @@ else()
-   ocv_update(3P_LIBRARY_OUTPUT_PATH      "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
-
-   if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
--    if(OpenCV_STATIC)
--      ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
--    else()
--      ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
--    endif()
--    ocv_update(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
-+    ocv_update(OPENCV_LIB_INSTALL_PATH   "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
-+    ocv_update(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
-     ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH    samples)
-     ocv_update(OPENCV_JAR_INSTALL_PATH java)
-     ocv_update(OPENCV_OTHER_INSTALL_PATH   etc)