aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-08-23 21:48:09 +0200
committerVictor Romero <romerosanchezv@gmail.com>2019-08-23 12:48:09 -0700
commitd85a40d478e683561578d1f63bb992f8805e16cc (patch)
tree9f534acb6269442edb0a82df3b48ca6925720175
parentcf447c050c734fc71e5254ea9e05e1bc4a9d208d (diff)
downloadvcpkg-d85a40d478e683561578d1f63bb992f8805e16cc.tar.gz
vcpkg-d85a40d478e683561578d1f63bb992f8805e16cc.zip
[OpenCV 3] update to v3.4.7 (#7658)
* [opencv3] uniform CONTROL file with opencv4 port * [opencv3] uniform portfile with opencv4 * [opencv3] uniform CONTROL file with opencv4 port * [opencv3] update to 3.4.7 draft * [OpenCV 3] wip to uniform port to opencv4 standards * [OpenCV3] fix IPPICV integration, use the same mechanism as in OpenCV4 port * [OpenCV3] fix sfm module * [OpenCV3] update hunk references in patches 0001 and 0009 * [OpenCV3] refresh install options to adhere to opencv4 standards * [opencv3] remove leftovers * [opencv3] Use OUT_FEATURE_OPTIONS with vcpkg_check_features()
-rw-r--r--ports/opencv3/0001-disable-downloading.patch (renamed from ports/opencv3/0003-disable-downloading.patch)4
-rw-r--r--ports/opencv3/0002-install-options.patch142
-rw-r--r--ports/opencv3/0003-force-package-requirements.patch (renamed from ports/opencv3/0004-use-find-package-required.patch)36
-rw-r--r--ports/opencv3/0005-remove-custom-protobuf-find-package.patch25
-rw-r--r--ports/opencv3/0006-fix-missing-openjp2.patch16
-rw-r--r--ports/opencv3/0009-fix-uwp.patch (renamed from ports/opencv3/0001-winrt-fixes.patch)24
-rw-r--r--ports/opencv3/CONTROL107
-rw-r--r--ports/opencv3/portfile.cmake412
-rw-r--r--ports/opencv3/usage5
-rw-r--r--ports/opencv4/CONTROL3
-rw-r--r--ports/opencv4/portfile.cmake13
11 files changed, 289 insertions, 498 deletions
diff --git a/ports/opencv3/0003-disable-downloading.patch b/ports/opencv3/0001-disable-downloading.patch
index 28b00251f..7e49fae2a 100644
--- a/ports/opencv3/0003-disable-downloading.patch
+++ b/ports/opencv3/0001-disable-downloading.patch
@@ -1,6 +1,8 @@
+diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake
+index cdc47ad..175aaf3 100644
--- a/cmake/OpenCVDownload.cmake
+++ b/cmake/OpenCVDownload.cmake
-@@ -151,6 +151,8 @@ function(ocv_download)
+@@ -154,6 +154,8 @@ function(ocv_download)
# Download
if(NOT EXISTS "${CACHE_CANDIDATE}")
ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch
index 0719a7cb9..3d334a0a1 100644
--- a/ports/opencv3/0002-install-options.patch
+++ b/ports/opencv3/0002-install-options.patch
@@ -1,137 +1,69 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6ce583b..e9ea757 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -312,6 +312,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
- OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
- OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
- OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
-+OCV_OPTION(INSTALL_HEADERS "Install header files" ON)
-+OCV_OPTION(INSTALL_LICENSE "Install license file" ON)
-+OCV_OPTION(INSTALL_OTHER "Install other files" ON)
-+OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF)
+@@ -665,7 +665,7 @@ endif()
- # OpenCV build options
- # ===================================================
-@@ -378,7 +382,9 @@ else()
- endif()
-
- if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
-- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
-+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
-+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
-+ elseif(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")
-@@ -433,12 +439,8 @@ else()
- ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
+ if(WIN32)
+ # Postfix of DLLs:
+- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
++ set(OPENCV_DLLVERSION "")
+ set(OPENCV_DEBUG_POSTFIX d)
+ else()
+ # Postfix of so's:
+@@ -716,7 +716,7 @@ endif()
+ ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)
- 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)
-@@ -901,7 +903,7 @@ if(NOT OPENCV_LICENSE_FILE)
+ # --- Python Support ---
+-if(NOT IOS)
++if(0)
+ include(cmake/OpenCVDetectPython.cmake)
endif()
- # for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
--if(ANDROID OR NOT UNIX)
-+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
- install(FILES ${OPENCV_LICENSE_FILE}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
- DESTINATION ./ COMPONENT libs)
+diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake
+index 0b9d669..142b21b 100644
+--- a/cmake/OpenCVCompilerOptions.cmake
++++ b/cmake/OpenCVCompilerOptions.cmake
+@@ -254,7 +254,6 @@ if(MSVC)
+ #endif()
+
+ if(BUILD_WITH_DEBUG_INFO)
+- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
+ set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")
+ set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug")
+ endif()
+diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake
+index 2c7c42b..e7bc157 100644
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
-@@ -105,7 +105,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
+@@ -109,7 +109,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
endif()
endfunction()
-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID)
-+if(((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
++if(NOT ANDROID)
ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
endif()
-@@ -117,7 +117,7 @@ endif()
+@@ -121,7 +121,7 @@ endif()
# --------------------------------------------------------------------------------------------
# Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
# --------------------------------------------------------------------------------------------
-if(WIN32)
-+if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS)
++if(0)
if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
set(_lib_suffix "lib")
---- a/cmake/OpenCVGenHeaders.cmake
-+++ b/cmake/OpenCVGenHeaders.cmake
-@@ -1,7 +1,9 @@
- # platform-specific config file
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/cvconfig.h")
--install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+endif()
-
- # platform-specific config file
- ocv_compiler_optimization_fill_cpu_config()
-@@ -29,4 +31,6 @@ set(OPENCV_MODULE_DEFINITIONS_CONFIGMAKE "${OPENCV_MODULE_DEFINITIONS_CONFIGMAKE
- #endforeach()
-
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv_modules.hpp.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp")
--install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+endif()
-\ No newline at end of file
---- a/cmake/OpenCVModule.cmake
-+++ b/cmake/OpenCVModule.cmake
-@@ -1000,7 +1000,9 @@ macro(_ocv_create_module)
- foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
- string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
- if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
-- install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
-+ if(INSTALL_HEADERS)
-+ install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
-+ endif()
- endif()
- endforeach()
- endif()
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 1f0d720..0bb1ff7 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
-@@ -1,8 +1,10 @@
+@@ -1,8 +1,6 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
-+if(INSTALL_OTHER)
-+ install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-+ install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
-+endif()
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -1,7 +1,9 @@
--file(GLOB old_hdrs "opencv/*.h*")
--install(FILES ${old_hdrs}
-- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
-- COMPONENT dev)
--install(FILES "opencv2/opencv.hpp"
-- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
-- COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ file(GLOB old_hdrs "opencv/*.h*")
-+ install(FILES ${old_hdrs}
-+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
-+ COMPONENT dev)
-+ install(FILES "opencv2/opencv.hpp"
-+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
-+ COMPONENT dev)
-+endif()
diff --git a/ports/opencv3/0004-use-find-package-required.patch b/ports/opencv3/0003-force-package-requirements.patch
index 4e1daf659..d43ccf4f6 100644
--- a/ports/opencv3/0004-use-find-package-required.patch
+++ b/ports/opencv3/0003-force-package-requirements.patch
@@ -1,3 +1,5 @@
+diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
+index fcf716b..bda80e9 100644
--- a/cmake/OpenCVFindLibsGrfmt.cmake
+++ b/cmake/OpenCVFindLibsGrfmt.cmake
@@ -6,7 +6,7 @@
@@ -16,9 +18,9 @@
- include(FindJPEG)
+ find_package(JPEG REQUIRED)
endif()
-
+
if(NOT JPEG_FOUND)
-@@ -51,7 +51,7 @@ if(WITH_TIFF)
+@@ -74,7 +74,7 @@ if(WITH_TIFF)
if(BUILD_TIFF)
ocv_clear_vars(TIFF_FOUND)
else()
@@ -27,7 +29,7 @@
if(TIFF_FOUND)
ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION)
endif()
-@@ -94,7 +94,7 @@ if(WITH_WEBP)
+@@ -117,7 +117,7 @@ if(WITH_WEBP)
if(BUILD_WEBP)
ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR)
else()
@@ -36,16 +38,16 @@
if(WEBP_FOUND)
set(HAVE_WEBP 1)
endif()
-@@ -135,7 +135,7 @@ if(WITH_JASPER)
+@@ -158,7 +158,7 @@ if(WITH_JASPER)
if(BUILD_JASPER)
ocv_clear_vars(JASPER_FOUND)
else()
- include(FindJasper)
+ find_package(Jasper REQUIRED)
endif()
-
+
if(NOT JASPER_FOUND)
-@@ -159,7 +159,7 @@ if(WITH_PNG)
+@@ -182,7 +182,7 @@ if(WITH_PNG)
if(BUILD_PNG)
ocv_clear_vars(PNG_FOUND)
else()
@@ -54,27 +56,27 @@
if(PNG_FOUND)
include(CheckIncludeFile)
check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
-@@ -191,7 +191,7 @@ if(WITH_OPENEXR)
- if(BUILD_OPENEXR)
- ocv_clear_vars(OPENEXR_FOUND)
- else()
+@@ -213,7 +213,7 @@ endif()
+ if(WITH_OPENEXR)
+ ocv_clear_vars(HAVE_OPENEXR)
+ if(NOT BUILD_OPENEXR)
- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
+ find_package(OpenEXR REQUIRED)
endif()
-
- if(NOT OPENEXR_FOUND)
-@@ -207,7 +207,7 @@ endif()
-
+
+ if(OPENEXR_FOUND)
+@@ -231,7 +231,7 @@ endif()
+
# --- GDAL (optional) ---
if(WITH_GDAL)
- find_package(GDAL QUIET)
+ find_package(GDAL REQUIRED)
-
+
if(NOT GDAL_FOUND)
set(HAVE_GDAL NO)
-@@ -219,7 +219,7 @@ if(WITH_GDAL)
+@@ -243,7 +243,7 @@ if(WITH_GDAL)
endif()
-
+
if (WITH_GDCM)
- find_package(GDCM QUIET)
+ find_package(GDCM REQUIRED)
diff --git a/ports/opencv3/0005-remove-custom-protobuf-find-package.patch b/ports/opencv3/0005-remove-custom-protobuf-find-package.patch
deleted file mode 100644
index 91ac137f9..000000000
--- a/ports/opencv3/0005-remove-custom-protobuf-find-package.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -633,7 +633,10 @@ include(cmake/OpenCVFindLibsGUI.cmake)
- include(cmake/OpenCVFindLibsVideo.cmake)
- include(cmake/OpenCVFindLibsPerf.cmake)
- include(cmake/OpenCVFindLAPACK.cmake)
--include(cmake/OpenCVFindProtobuf.cmake)
-+find_package(protobuf)
-+if(Protobuf_LIBRARIES)
-+ set(HAVE_PROTOBUF TRUE)
-+endif()
-
- # ----------------------------------------------------------------------------
- # Detect other 3rd-party libraries/tools
---- a/modules/dnn/CMakeLists.txt
-+++ b/modules/dnn/CMakeLists.txt
-@@ -78,7 +78,7 @@ endif()
-
- set(include_dirs ${fw_inc})
- set(sources_options "")
--set(libs libprotobuf ${LAPACK_LIBRARIES})
-+set(libs protobuf::libprotobuf ${LAPACK_LIBRARIES})
- if(OPENCV_DNN_OPENCL AND HAVE_OPENCL)
- list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS})
- else()
diff --git a/ports/opencv3/0006-fix-missing-openjp2.patch b/ports/opencv3/0006-fix-missing-openjp2.patch
deleted file mode 100644
index c0afb9952..000000000
--- a/ports/opencv3/0006-fix-missing-openjp2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/modules/imgcodecs/CMakeLists.txt b/modules/imgcodecs/CMakeLists.txt
-index 434278c..0d8f4d8 100644
---- a/modules/imgcodecs/CMakeLists.txt
-+++ b/modules/imgcodecs/CMakeLists.txt
-@@ -36,6 +36,11 @@ if(HAVE_PNG)
- endif()
-
- if(HAVE_GDCM)
-+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
-+ link_directories("${CURRENT_INSTALLED_DIR}/lib")
-+ else()
-+ link_directories("${CURRENT_INSTALLED_DIR}/debug/lib")
-+ endif()
- ocv_include_directories(${GDCM_INCLUDE_DIRS})
- list(APPEND GRFMT_LIBS ${GDCM_LIBRARIES})
- endif()
diff --git a/ports/opencv3/0001-winrt-fixes.patch b/ports/opencv3/0009-fix-uwp.patch
index b2fe1a021..b57e49ea1 100644
--- a/ports/opencv3/0001-winrt-fixes.patch
+++ b/ports/opencv3/0009-fix-uwp.patch
@@ -1,38 +1,46 @@
+diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
+index c2fda8f..3f7dfdc 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
-@@ -848,7 +848,7 @@ macro(ocv_create_module)
+@@ -850,7 +850,7 @@ macro(ocv_create_module)
set(the_module_target ${the_module})
endif()
-
+
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# removing APPCONTAINER from modules to run from console
# in case of usual starting of WinRT test apps output is missing
# so starting of console version w/o APPCONTAINER is required to get test results
+diff --git a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
+index f4147f3..b92efdd 100644
--- a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
+++ b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
@@ -24,6 +24,7 @@
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-
+
+#include "opencv2/core/cvdef.h"
using namespace Windows::UI::Xaml::Controls;
-
+
namespace cv
+diff --git a/modules/highgui/src/window_winrt_bridge.hpp b/modules/highgui/src/window_winrt_bridge.hpp
+index 25f4aef..5429f0b 100644
--- a/modules/highgui/src/window_winrt_bridge.hpp
+++ b/modules/highgui/src/window_winrt_bridge.hpp
@@ -28,6 +28,7 @@
-
+
#include <map>
#include <opencv2\core.hpp>
+#include "opencv2/highgui/highgui_c.h"
-
+
using namespace Windows::UI::Xaml::Controls;
-
+
+diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+index 236e227..e2417dc 100644
--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
@@ -94,10 +94,10 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber()
-
+
void Media::CaptureFrameGrabber::ShowCameraSettings()
{
-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP
diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL
index f70d1d387..d564e24a8 100644
--- a/ports/opencv3/CONTROL
+++ b/ports/opencv3/CONTROL
@@ -1,86 +1,90 @@
Source: opencv3
-Version: 3.4.3-10
-Build-Depends: zlib
+Version: 3.4.7
+Build-Depends: protobuf, zlib
Homepage: https://github.com/opencv/opencv
Description: computer vision library
-Default-Features: opengl, jpeg, png, tiff, eigen, flann
+Default-Features: dnn, jpeg, opengl, png, tiff, webp
-Feature: opengl
-Build-Depends: opengl
-Description: opengl support for opencv
-
-Feature: dnn
-Build-Depends: protobuf
-Description: opencv_dnn module
-
-Feature: ovis
-Build-Depends: ogre
-Description: opencv_ovis module
+Feature: nonfree
+Description: allow nonfree and unredistributable libraries
Feature: flann
Description: opencv_flann module
-Feature: sfm
-Build-Depends: eigen3, glog, gflags, ceres
-Description: opencv_sfm module
-
Feature: contrib
-Build-Depends: opencv3[flann]
+Build-Depends: hdf5 (!uwp)
Description: opencv_contrib module
Feature: cuda
-Build-Depends: cuda
+Build-Depends: opencv3[contrib], cuda
Description: CUDA support for opencv
-Feature: ffmpeg
-Description: prebuilt ffmpeg support for opencv
-
-Feature: ipp
-Description: Enable Intel Integrated Performance Primitives
-
-Feature: tbb
-Build-Depends: tbb
-Description: Enable Intel Threading Building Blocks
+Feature: dnn
+Description: Enable dnn module
-Feature: qt
-Build-Depends: qt5
-Description: Qt GUI support for opencv
+Feature: eigen
+Build-Depends: eigen3
+Description: Eigen support for opencv
-Feature: vtk
-Build-Depends: vtk
-Description: vtk support for opencv
+Feature: ffmpeg
+Build-Depends: ffmpeg
+Description: ffmpeg support for opencv
Feature: gdcm
Build-Depends: gdcm
Description: GDCM support for opencv
-Feature: webp
-Build-Depends: libwebp
-Description: WebP support for opencv
+Feature: ipp
+Description: Enable Intel Integrated Performance Primitives
+
+Feature: jasper
+Build-Depends: jasper
+Description: JPEG 2000 support for opencv
+
+Feature: jpeg
+Build-Depends: libjpeg-turbo
+Description: JPEG support for opencv
Feature: openexr
Build-Depends: openexr
Description: OpenEXR support for opencv
-Feature: tiff
-Build-Depends: tiff
-Description: TIFF support for opencv
+Feature: opengl
+Build-Depends: opengl
+Description: opengl support for opencv
+
+
+Feature: ovis
+Build-Depends: opencv3[contrib], ogre
+Description: opencv_ovis module
Feature: png
Build-Depends: libpng
Description: PNG support for opencv
-Feature: jpeg
-Build-Depends: libjpeg-turbo
-Description: JPEG support for opencv
+Feature: qt
+Build-Depends: qt5
+Description: Qt GUI support for opencv
-Feature: jasper
-Build-Depends: jasper
-Description: JPEG 2000 support for opencv
+Feature: sfm
+Build-Depends: opencv3[contrib], opencv3[flann], eigen3, glog, gflags, ceres
+Description: opencv_sfm module
-Feature: eigen
-Build-Depends: eigen3
-Description: Eigen support for opencv
+Feature: tbb
+Build-Depends: tbb
+Description: Enable Intel Threading Building Blocks
+
+Feature: tiff
+Build-Depends: tiff
+Description: TIFF support for opencv
+
+Feature: vtk
+Build-Depends: vtk
+Description: vtk support for opencv
+
+Feature: webp
+Build-Depends: libwebp
+Description: WebP support for opencv
Feature: halide
Build-Depends: halide, opencv3[core], opencv3[dnn]
@@ -88,6 +92,3 @@ Description: Halide support for opencv
Feature: world
Description: Compile to a single package support for opencv
-
-Feature: nonfree
-Description: allow nonfree and unredistributable libraries
diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake
index e4745d336..f7ef27973 100644
--- a/ports/opencv3/portfile.cmake
+++ b/ports/opencv3/portfile.cmake
@@ -4,65 +4,85 @@ endif()
include(vcpkg_common_functions)
-set(OPENCV_PORT_VERSION "3.4.3")
+set(OPENCV_VERSION "3.4.7")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
- REF ${OPENCV_PORT_VERSION}
- SHA512 d653a58eb5e3939b9fdb7438ac35f77cf4385cf72d5d22bfd21722a109e1b3283dbb9407985061b7548114f0d05c9395aac9bb62b4d2bc1f68da770a49987fef
+ REF ${OPENCV_VERSION}
+ SHA512 ba1336ad4e5208748aa09c99770392cc71ef72688560d0b03287ddafd36093ef30cbdf6422f87f8f878663ab8085cc0ff8a8c65fd1ff0ec6800855ea01309beb
HEAD_REF master
PATCHES
- 0001-winrt-fixes.patch
+ 0001-disable-downloading.patch
0002-install-options.patch
- 0003-disable-downloading.patch
- 0004-use-find-package-required.patch
- 0005-remove-custom-protobuf-find-package.patch
- 0006-fix-missing-openjp2.patch
+ 0003-force-package-requirements.patch
+ 0009-fix-uwp.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
-set(CMAKE_MODULE_PATH)
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ "contrib" WITH_CONTRIB
+ "cuda" WITH_CUDA
+ "cuda" WITH_CUBLAS
+ "dnn" BUILD_opencv_dnn
+ "eigen" WITH_EIGEN
+ "ffmpeg" WITH_FFMPEG
+ "flann" BUILD_opencv_flann
+ "gdcm" WITH_GDCM
+ "halide" WITH_HALIDE
+ "jasper" WITH_JASPER
+ "jpeg" WITH_JPEG
+ "nonfree" OPENCV_ENABLE_NONFREE
+ "openexr" WITH_OPENEXR
+ "opengl" WITH_OPENGL
+ "png" WITH_PNG
+ "qt" WITH_QT
+ "sfm" BUILD_opencv_sfm
+ "tiff" WITH_TIFF
+ "webp" WITH_WEBP
+ "world" BUILD_opencv_world
+)
-set(BUILD_opencv_world OFF)
-if("world" IN_LIST FEATURES)
- set(BUILD_opencv_world ON)
+# Cannot use vcpkg_check_features() for "ipp", "ovis", "tbb", and "vtk".
+# As the respective value of their variables can be unset conditionally.
+set(WITH_IPP OFF)
+if("ipp" IN_LIST FEATURES)
+ set(WITH_IPP ON)
endif()
-set(BUILD_opencv_dnn OFF)
-set(WITH_PROTOBUF OFF)
-if("dnn" IN_LIST FEATURES)
- set(BUILD_opencv_dnn ON)
- set(WITH_PROTOBUF ON)
- set(PROTOBUF_UPDATE_FILES ON)
- set(UPDATE_PROTO_FILES ON)
- vcpkg_download_distfile(TINYDNN_ARCHIVE
- URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
- FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
- SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
- )
+set(BUILD_opencv_ovis OFF)
+if("ovis" IN_LIST FEATURES)
+ set(BUILD_opencv_ovis ON)
endif()
-set(BUILD_opencv_flann OFF)
-if("flann" IN_LIST FEATURES)
- set(BUILD_opencv_flann ON)
+set(WITH_TBB OFF)
+if("tbb" IN_LIST FEATURES)
+ set(WITH_TBB ON)
endif()
-set(BUILD_opencv_ovis OFF)
-if("ovis" IN_LIST FEATURES)
- set(BUILD_opencv_ovis ON)
+set(WITH_VTK OFF)
+if("vtk" IN_LIST FEATURES)
+ set(WITH_VTK ON)
endif()
-set(BUILD_opencv_sfm OFF)
-if("sfm" IN_LIST FEATURES)
- set(BUILD_opencv_sfm ON)
+if("dnn" IN_LIST FEATURES)
+ vcpkg_download_distfile(TINYDNN_ARCHIVE
+ URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
+ FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
+ SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
+ )
endif()
-set(BUILD_opencv_contrib OFF)
if("contrib" IN_LIST FEATURES)
- set(BUILD_opencv_contrib ON)
-
+ vcpkg_from_github(
+ OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
+ REPO opencv/opencv_contrib
+ REF ${OPENCV_VERSION}
+ SHA512 922620f3e8754fc15dedf8993bdc1f00c06b623cbeeb72afb984ddaad6e0e04f46561a0ee4d20f5e260616c1f32c6dc0dd7248355d417873ae72bd03cb5d57fd
+ HEAD_REF master
+ )
+ set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
# Used for opencv's face module
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat"
@@ -111,138 +131,63 @@ if("contrib" IN_LIST FEATURES)
)
endif()
-set(WITH_CUDA OFF)
-if("cuda" IN_LIST FEATURES)
- set(WITH_CUDA ON)
-endif()
-
-set(WITH_FFMPEG OFF)
-if("ffmpeg" IN_LIST FEATURES)
- set(WITH_FFMPEG ON)
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg.dll"
- FILENAME "opencv-cache/ffmpeg/fa5a2a4e2f37defcb95bde8ed145c2b3-opencv_ffmpeg.dll"
- SHA512 875f922e1d9fc2fe7c8e879ede35b1001b6ad8b3c4d71feb3823421ce861f580df3418c791315b23870fcb0378d297b01e0761d3f65277ff11ec2fef8c0b08b7
- )
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg_64.dll"
- FILENAME "opencv-cache/ffmpeg/2cc08fc4fef8199fe80e0f126684834f-opencv_ffmpeg_64.dll"
- SHA512 4e74aa4cb115f103b929f93bbc8dcf675de7d0c7916f8f0a80ac46761134b088634be95f959ce5827753ae9ecb2365ca40440dfbb9a9bf89f22ee11b6c8342b3
- )
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/ffmpeg_version.cmake"
- FILENAME "opencv-cache/ffmpeg/3b90f67f4b429e77d3da36698cef700c-ffmpeg_version.cmake"
- SHA512 7d0142c30ac6f6260c1bcabc22753030fd25a708477fa28053e8df847c366967d3b93a8ac14af19a2b7b73d9f8241749a431458faf21a0c8efc7d6d99eecfdcf
- )
-endif()
-
-set(WITH_IPP OFF)
-if("ipp" IN_LIST FEATURES)
- set(WITH_IPP ON)
-
- if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_intel64_general_20180518.zip"
- FILENAME "opencv-cache/ippicv/915ff92958089ede8ea532d3c4fe7187-ippicv_2017u3_win_intel64_general_20180518.zip"
- SHA512 8aa08292d542d521c042864446e47a7a6bdbf3896d86fc7b43255459c24a2e9f34a4e9b177023d178fed7a2e82a9db410f89d81375a542d049785d263f46c64d
+if(WITH_IPP)
+ if(VCPKG_TARGET_IS_OSX)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_mac_intel64_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/fe6b2bb75ae0e3f19ad3ae1a31dfa4a2-ippicv_2019_mac_intel64_general_20180723.tgz"
+ SHA512 266fe3fecf8e95e1f51c09b65330a577743ef72b423b935d4d1fe8d87f1b4f258c282fe6a18fc805d489592f137ebed37c9f1d1b34026590d9f1ba107015132e
)
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
+ elseif(VCPKG_TARGET_IS_LINUX)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz"
+ SHA512 e4ec6b3b9fc03d7b3ae777c2a26f57913e83329fd2f7be26c259b07477ca2a641050b86979e0c96e25aa4c1f9f251b28727690358a77418e76dd910d0f4845c9
+ )
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_ia32_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/4f38432c30bfd6423164b7a24bbc98a0-ippicv_2019_lnx_ia32_general_20180723.tgz"
+ SHA512 d96d3989928ff11a18e631bf5ecfdedf88fd350162a23fa2c8f7dbc3bf878bf442aff7fb2a07dc56671d7268cc20682055891be75b9834e9694d20173e92b6a3
+ )
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
+ elseif(VCPKG_TARGET_IS_WINDOWS)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip"
+ FILENAME "opencv-cache/ippicv/1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip"
+ SHA512 b6c4f2696e2004b8f5471efd9bdc6c684b77830e0533d8880310c0b665b450d6f78e10744c937f5592ab900e187c475e46cb49e98701bb4bcbbc7da77723011d
+ )
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_ia32_20180723_general.zip"
+ FILENAME "opencv-cache/ippicv/0157251a2eb9cd63a3ebc7eed0f3e59e-ippicv_2019_win_ia32_20180723_general.zip"
+ SHA512 c33fd4019c71b064b153e1b25e0307f9c7ada693af8ec910410edeab471c6f14df9b11bf9f5302ceb0fcd4282f5c0b6c92fb5df0e83eb50ed630c45820d1e184
+ )
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
else()
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_ia32_general_20180518.zip"
- FILENAME "opencv-cache/ippicv/928168c2d99ab284047dfcfb7a821d91-ippicv_2017u3_win_ia32_general_20180518.zip"
- SHA512 b89b0fb739152303cafc9fb064fa8b24fd94850697137ccbb5c1e344e0f5094115603a5e3be3a25f85d0faefc5c53429a7d65da0142d012ada41e8db2bcdd6b7
- )
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
endif()
endif()
-set(WITH_TBB OFF)
-if("tbb" IN_LIST FEATURES)
- set(WITH_TBB ON)
-endif()
-
-set(WITH_QT OFF)
-if("qt" IN_LIST FEATURES)
- set(WITH_QT ON)
-endif()
-
-set(WITH_VTK OFF)
-if("vtk" IN_LIST FEATURES)
- set(WITH_VTK ON)
-endif()
-
-set(WITH_WEBP OFF)
-if("webp" IN_LIST FEATURES)
- set(WITH_WEBP ON)
- list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/libwebp)
-endif()
-
-set(WITH_GDCM OFF)
-if("gdcm" IN_LIST FEATURES)
- set(WITH_GDCM ON)
-endif()
-
-set(WITH_OPENGL OFF)
-if("opengl" IN_LIST FEATURES)
- set(WITH_OPENGL ON)
-endif()
-
-set(WITH_OPENEXR OFF)
-if("openexr" IN_LIST FEATURES)
- set(WITH_OPENEXR ON)
- list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/openexr)
-endif()
-
set(WITH_MSMF ON)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_UWP)
set(WITH_MSMF OFF)
endif()
-set(WITH_TIFF OFF)
-if("tiff" IN_LIST FEATURES)
- set(WITH_TIFF ON)
-endif()
-
-set(WITH_JPEG OFF)
-if("jpeg" IN_LIST FEATURES)
- set(WITH_JPEG ON)
-endif()
-
-set(WITH_JASPER OFF)
-if("jasper" IN_LIST FEATURES)
- set(WITH_JASPER ON)
-endif()
-
-set(WITH_PNG OFF)
-if("png" IN_LIST FEATURES)
- set(WITH_PNG ON)
-endif()
-
-set(WITH_EIGEN OFF)
-if("eigen" IN_LIST FEATURES)
- set(WITH_EIGEN ON)
-endif()
-
-set(WITH_HALIDE OFF)
-if("halide" IN_LIST FEATURES)
- set(WITH_HALIDE ON)
-endif()
-
-set(OPENCV_ENABLE_NONFREE OFF)
-if("nonfree" IN_LIST FEATURES)
- set(OPENCV_ENABLE_NONFREE ON)
-endif()
-
-if(BUILD_opencv_contrib)
- vcpkg_from_github(
- OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
- REPO opencv/opencv_contrib
- REF ${OPENCV_PORT_VERSION}
- SHA512 456c6f878fb3bd5459f6430405cf05c609431f8d7db743aa699fc75c305d019682ee3a804bf0cf5107597dd1dbbb69b08be3535a0e6c717e4773ed7c05d08e59
- HEAD_REF master
- )
- set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
-endif()
-
set(WITH_ZLIB ON)
set(BUILD_opencv_line_descriptor ON)
set(BUILD_opencv_saliency ON)
@@ -252,14 +197,21 @@ if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
set(BUILD_opencv_saliency OFF)
set(BUILD_opencv_bgsegm OFF)
endif()
-
-string(REPLACE ";" "\\\\\;" CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}")
+if (VCPKG_TARGET_IS_UWP)
+ set(BUILD_opencv_quality OFF)
+endif()
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
- # Ungrouped Entries
+ ###### ocv_options
+ -DOpenCV_INSTALL_BINARIES_PREFIX=
+ -DOPENCV_LIB_INSTALL_PATH=lib
+ -DOPENCV_3P_LIB_INSTALL_PATH=lib
+ -DOPENCV_CONFIG_INSTALL_PATH=share/opencv
+ -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
+ -DCMAKE_DEBUG_POSTFIX=d
-DOpenCV_DISABLE_ARCH_PATH=ON
# Do not build docs/examples
-DBUILD_DOCS=OFF
@@ -281,22 +233,18 @@ vcpkg_configure_cmake(
# Select which OpenCV modules should be built
-DBUILD_opencv_apps=OFF
-DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm}
- -DBUILD_opencv_dnn=${BUILD_opencv_dnn}
- -DBUILD_opencv_flann=${BUILD_opencv_flann}
-DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor}
-DBUILD_opencv_ovis=${BUILD_opencv_ovis}
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DBUILD_opencv_saliency=${BUILD_opencv_saliency}
- -DBUILD_opencv_sfm=${BUILD_opencv_sfm}
- -DBUILD_opencv_world=${BUILD_opencv_world}
# PROTOBUF
- -DPROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES}
- -DUPDATE_PROTO_FILES=${UPDATE_PROTO_FILES}
+ -DPROTOBUF_UPDATE_FILES=ON
+ -DUPDATE_PROTO_FILES=ON
+ -DWITH_PROTOBUF=ON
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
- "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}"
# ENABLE
-DENABLE_CXX11=ON
-DENABLE_PYLINT=OFF
@@ -306,119 +254,71 @@ vcpkg_configure_cmake(
-DINSTALL_LICENSE=OFF
# OPENCV
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv
+ -DOPENCV_OTHER_INSTALL_PATH=share/opencv
"-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache"
${BUILD_WITH_CONTRIB_FLAG}
-DOPENCV_OTHER_INSTALL_PATH=share/opencv
# WITH
- -DWITH_CUBLAS=${WITH_CUDA}
- -DWITH_CUDA=${WITH_CUDA}
- -DWITH_EIGEN=${WITH_EIGEN}
- -DWITH_FFMPEG=${WITH_FFMPEG}
- -DWITH_GDCM=${WITH_GDCM}
- -DWITH_HALIDE=${WITH_HALIDE}
- -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
+ ${FEATURE_OPPTIONS}
-DWITH_IPP=${WITH_IPP}
- -DWITH_JASPER=${WITH_JASPER}
- -DWITH_JPEG=${WITH_JPEG}
-DWITH_LAPACK=OFF
-DWITH_MATLAB=OFF
-DWITH_MSMF=${WITH_MSMF}
-DWITH_OPENCLAMDBLAS=OFF
- -DWITH_OPENEXR=${WITH_OPENEXR}
- -DWITH_OPENGL=${WITH_OPENGL}
- -DWITH_PNG=${WITH_PNG}
- -DWITH_PROTOBUF=${WITH_PROTOBUF}
- -DWITH_QT=${WITH_QT}
-DWITH_TBB=${WITH_TBB}
- -DWITH_TIFF=${WITH_TIFF}
-DWITH_VTK=${WITH_VTK}
- -DWITH_WEBP=${WITH_WEBP}
-DWITH_ZLIB=${WITH_ZLIB}
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
+ -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
)
vcpkg_install_cmake()
-
-if(VCPKG_PLATFORM_TOOLSET STREQUAL "v141")
- set(OpenCV_RUNTIME vc15)
-else()
- set(OpenCV_RUNTIME vc14)
-endif()
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- set(OpenCV_ARCH x64)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- set(OpenCV_ARCH ARM)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- set(OpenCV_ARCH ARM64)
-else()
- set(OpenCV_ARCH x86)
-endif()
-
-file(GLOB BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*)
-file(COPY ${BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR})
-file(GLOB DEBUG_BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*)
-file(COPY ${DEBUG_BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH})
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH})
-
-file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/staticlib/*)
-if(STATICLIB)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib)
- file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/staticlib)
-endif()
-file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/debug/staticlib/*)
-if(STATICLIB)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/staticlib)
-endif()
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake OPENCV_CONFIG)
-string(REPLACE "/staticlib/"
- "/lib/" OPENCV_CONFIG "${OPENCV_CONFIG}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake "${OPENCV_CONFIG}")
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake OPENCV_CONFIG_LIB)
-string(REPLACE "/staticlib/"
- "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake "${OPENCV_CONFIG_LIB}")
-
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules-debug.cmake OPENCV_CONFIG_LIB)
-string(REPLACE "/staticlib/"
- "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
-string(REPLACE "PREFIX}/lib"
- "PREFIX}/debug/lib" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
-string(REPLACE "PREFIX}/bin"
- "PREFIX}/debug/bin" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake "${OPENCV_CONFIG_LIB}")
-
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake)
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
-string(REPLACE "${CURRENT_INSTALLED_DIR}"
- "\${_VCPKG_INSTALLED_DIR}/\${VCPKG_TARGET_TRIPLET}" OPENCV_MODULES "${OPENCV_MODULES}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv")
+vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
- find_package(TIFF REQUIRED)" OPENCV_MODULES "${OPENCV_MODULES}")
+find_package(Protobuf REQUIRED)
+if(Protobuf_FOUND)
+ if(TARGET protobuf::libprotobuf)
+ add_library(libprotobuf INTERFACE IMPORTED)
+ set_target_properties(libprotobuf PROPERTIES
+ INTERFACE_LINK_LIBRARIES protobuf::libprotobuf
+ )
+ else()
+ add_library(libprotobuf UNKNOWN IMPORTED)
+ set_target_properties(libprotobuf PROPERTIES
+ IMPORTED_LOCATION \"${Protobuf_LIBRARY}\"
+ INTERFACE_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\"
+ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\"
+ )
+ endif()
+endif()
+find_package(TIFF QUIET)
+find_package(HDF5 QUIET)
+find_package(Freetype QUIET)
+find_package(Ogre QUIET)
+find_package(gflags QUIET)
+find_package(Ceres QUIET)
+find_package(ade QUIET)
+find_package(VTK QUIET)
+find_package(OpenMP QUIET)
+find_package(GDCM QUIET)" OPENCV_MODULES "${OPENCV_MODULES}")
+
file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv)
-
-vcpkg_copy_pdbs()
-
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv3/LICENSE ${CURRENT_PACKAGES_DIR}/share/opencv3/copyright)
-
-set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/setup_vars_opencv3.cmd)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/setup_vars_opencv3.cmd)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv3 RENAME copyright)
diff --git a/ports/opencv3/usage b/ports/opencv3/usage
deleted file mode 100644
index 1c30e5fea..000000000
--- a/ports/opencv3/usage
+++ /dev/null
@@ -1,5 +0,0 @@
-The package opencv provides CMake integration:
-
- find_package(OpenCV REQUIRED)
- target_include_directories(main PRIVATE ${OpenCV_INCLUDE_DIRS})
- target_link_libraries(main PRIVATE ${OpenCV_LIBS})
diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL
index e16540656..29a119e2f 100644
--- a/ports/opencv4/CONTROL
+++ b/ports/opencv4/CONTROL
@@ -1,11 +1,12 @@
Source: opencv4
Version: 4.1.1-1
Build-Depends: protobuf, zlib
+Homepage: https://github.com/opencv/opencv
Description: computer vision library
Default-Features: dnn, jpeg, opengl, png, tiff, webp
Feature: nonfree
-Description: opencv nonfree module
+Description: allow nonfree and unredistributable libraries
Feature: ade
Build-Depends: ade
diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake
index ed0b9f1e2..60ba8e5f5 100644
--- a/ports/opencv4/portfile.cmake
+++ b/ports/opencv4/portfile.cmake
@@ -6,10 +6,6 @@ include(vcpkg_common_functions)
set(OPENCV_VERSION "4.1.1")
-if(VCPKG_TARGET_IS_LINUX)
- message("OpenCV currently requires the following library from the system package manager:\n libgtk3\n\nThis can be installed on Ubuntu systems via apt-get install libgtk-3-dev")
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
@@ -288,14 +284,13 @@ vcpkg_configure_cmake(
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
###### PROTOBUF
-DPROTOBUF_UPDATE_FILES=ON
- -DUPDATE_PROTO_FILES=ON
+ -DUPDATE_PROTO_FILES=ON
###### PYLINT/FLAKE8
-DENABLE_PYLINT=OFF
-DENABLE_FLAKE8=OFF
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
# ENABLE
-DENABLE_CXX11=ON
###### OPENCV vars
@@ -323,15 +318,10 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv")
vcpkg_copy_pdbs()
-# OpenCV does not list TIFF as a dependency.
-# We explicitly add it to the module file,
-# in order to fix unresolved symbols linking problems
-# for downstream projects using OpenCV as static library
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
-find_package(TIFF REQUIRED)
find_package(Protobuf REQUIRED)
if(Protobuf_FOUND)
if(TARGET protobuf::libprotobuf)
@@ -348,6 +338,7 @@ if(Protobuf_FOUND)
)
endif()
endif()
+find_package(TIFF QUIET)
find_package(HDF5 QUIET)
find_package(Freetype QUIET)
find_package(Ogre QUIET)