[opencv] Update to 4.12.0 (#48696)

This commit is contained in:
Kai Pastor
2025-12-09 04:05:09 +01:00
committed by GitHub
parent f5ced78107
commit b7166029df
18 changed files with 229 additions and 226 deletions

View File

@@ -1,10 +1,10 @@
{
"name": "opencv",
"version": "4.11.0",
"port-version": 1,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"license": "Apache-2.0",
"version": "4.12.0",
"description": "Open Source Computer Vision Library",
"homepage": "https://opencv.org/",
"documentation": "https://docs.opencv.org/4.12.0/",
"license": null,
"dependencies": [
{
"name": "opencv4",

View File

@@ -1,11 +0,0 @@
--- a/cmake/OpenCVFindLibsPerf.cmake
+++ b/cmake/OpenCVFindLibsPerf.cmake
@@ -59,7 +59,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN)
OR NOT (CMAKE_VERSION VERSION_LESS "3.0.0") # Eigen3Targets.cmake required CMake 3.0.0+
) AND NOT OPENCV_SKIP_EIGEN_FIND_PACKAGE_CONFIG
)
- find_package(Eigen3 CONFIG QUIET) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING)
+ find_package(Eigen3 CONFIG REQUIRED) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING)
endif()
if(NOT Eigen3_FOUND)
find_package(Eigen3 QUIET)

View File

@@ -0,0 +1,32 @@
diff --git a/cmake/OpenCVDetectOpenCL.cmake b/cmake/OpenCVDetectOpenCL.cmake
index 6ab2cae..8429551 100644
--- a/cmake/OpenCVDetectOpenCL.cmake
+++ b/cmake/OpenCVDetectOpenCL.cmake
@@ -1,13 +1,5 @@
-set(OPENCL_FOUND ON CACHE BOOL "OpenCL library is found")
-if(APPLE)
- set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
- set(OPENCL_INCLUDE_DIR "" CACHE PATH "OpenCL include directory")
-else()
- set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library")
- set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory")
- ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt")
-endif()
-mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
+find_package(OPENCL NAMES OpenCL)
+set(OPENCL_LIBRARY OpenCL::OpenCL)
if(OPENCL_FOUND)
diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
index 5742177..5e9633b 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -869,6 +869,7 @@ macro(ocv_glob_module_sources)
set(OCL_NAME opencl_kernels_${name})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" # don't add .hpp file here to optimize build process
+ "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.hpp" # in reality vcpkg needs them
COMMAND ${CMAKE_COMMAND} "-DMODULE_NAME=${name}" "-DCL_DIR=${CMAKE_CURRENT_LIST_DIR}/src/opencl" "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
COMMENT "Processing OpenCL kernels (${name})"

View File

@@ -1,7 +0,0 @@
--- a/modules/videoio/CMakeLists.txt
+++ b/modules/videoio/CMakeLists.txt
@@ -1,3 +1,4 @@
+cmake_minimum_required(VERSION 3.5)
set(VIDEOIO_ENABLE_PLUGINS_DEFAULT ON)
if(EMSCRIPTEN OR IOS OR XROS OR WINRT)
set(VIDEOIO_ENABLE_PLUGINS_DEFAULT OFF)

View File

@@ -0,0 +1,32 @@
diff --git a/cmake/OpenCVDetectVulkan.cmake b/cmake/OpenCVDetectVulkan.cmake
index b6ef0f2..2350dad 100644
--- a/cmake/OpenCVDetectVulkan.cmake
+++ b/cmake/OpenCVDetectVulkan.cmake
@@ -1,9 +1,11 @@
-set(VULKAN_INCLUDE_DIRS "${OpenCV_SOURCE_DIR}/3rdparty/include" CACHE PATH "Vulkan include directory")
+find_package(VulkanHeaders CONFIG)
+set(VULKAN_INCLUDE_DIRS "")
set(VULKAN_LIBRARIES "" CACHE PATH "Path to Vulkan Libraries.")
try_compile(VALID_VULKAN
"${OpenCV_BINARY_DIR}"
"${OpenCV_SOURCE_DIR}/cmake/checks/vulkan.cpp"
+ LINK_LIBRARIES Vulkan::Headers
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${VULKAN_INCLUDE_DIRS}"
OUTPUT_VARIABLE TRY_OUT
)
diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
index 382379c..6341731 100644
--- a/modules/dnn/CMakeLists.txt
+++ b/modules/dnn/CMakeLists.txt
@@ -110,6 +110,10 @@ ocv_warnings_disable(CMAKE_CXX_FLAGS
set(include_dirs "")
set(libs "")
+if(HAVE_VULKAN)
+ list(APPEND libs "$<COMPILE_ONLY:Vulkan::Headers>")
+endif()
+
if(HAVE_PROTOBUF)
ocv_target_compile_definitions(${the_module} PRIVATE "HAVE_PROTOBUF=1")

View File

@@ -1,11 +0,0 @@
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -1249,7 +1249,7 @@ function(ocv_add_perf_tests)
set_target_properties(${the_target} PROPERTIES FOLDER "tests performance")
endif()
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# removing APPCONTAINER from tests to run from console
# look for detailed description inside of ocv_create_module macro above
add_custom_command(TARGET "opencv_perf_${name}"

View File

@@ -1,24 +0,0 @@
--- a/cmake/OpenCVDetectPython.cmake
+++ b/cmake/OpenCVDetectPython.cmake
@@ -268,21 +268,6 @@ if(OPENCV_PYTHON_SKIP_DETECTION)
return()
endif()
-ocv_check_environment_variables(OPENCV_ENABLE_PYTHON2)
-ocv_check_environment_variables(PYTHON2_EXECUTABLE)
-if((OPENCV_ENABLE_PYTHON2 OR PYTHON2_EXECUTABLE OR BUILD_opencv_python2)
- AND NOT OPENCV_PYTHON2_SKIP_DETECTION
-)
- find_python("" "${MIN_VER_PYTHON2}" PYTHON2_LIBRARY PYTHON2_INCLUDE_DIR
- PYTHON2INTERP_FOUND PYTHON2_EXECUTABLE PYTHON2_VERSION_STRING
- PYTHON2_VERSION_MAJOR PYTHON2_VERSION_MINOR PYTHON2LIBS_FOUND
- PYTHON2LIBS_VERSION_STRING PYTHON2_LIBRARIES PYTHON2_LIBRARY
- PYTHON2_DEBUG_LIBRARIES PYTHON2_LIBRARY_DEBUG PYTHON2_INCLUDE_PATH
- PYTHON2_INCLUDE_DIR PYTHON2_INCLUDE_DIR2 PYTHON2_PACKAGES_PATH
- PYTHON2_NUMPY_INCLUDE_DIRS PYTHON2_NUMPY_VERSION)
-endif()
-
-option(OPENCV_PYTHON3_VERSION "Python3 version" "")
find_python("${OPENCV_PYTHON3_VERSION}" "${MIN_VER_PYTHON3}" PYTHON3_LIBRARY PYTHON3_INCLUDE_DIR
PYTHON3INTERP_FOUND PYTHON3_EXECUTABLE PYTHON3_VERSION_STRING
PYTHON3_VERSION_MAJOR PYTHON3_VERSION_MINOR PYTHON3LIBS_FOUND

View File

@@ -1,13 +0,0 @@
--- a/cmake/OpenCVUtils.cmake
+++ b/cmake/OpenCVUtils.cmake
@@ -1667,8 +1667,8 @@ function(ocv_install_used_external_targets)
if(NOT BUILD_SHARED_LIBS
AND NOT (CMAKE_VERSION VERSION_LESS "3.13.0") # upgrade CMake: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/2152
)
- foreach(tgt in ${ARGN})
- if(tgt MATCHES "^ocv\.3rdparty\.")
+ foreach(tgt ${ARGN})
+ if(tgt MATCHES "^ocv[.]3rdparty[.]")
list(FIND __OPENCV_EXPORTED_EXTERNAL_TARGETS "${tgt}" _found)
if(_found EQUAL -1) # don't export target twice
install(TARGETS ${tgt} EXPORT OpenCVModules)

View File

@@ -1,16 +1,11 @@
--- a/cmake/OpenCVDetectFlatbuffers.cmake
+++ b/cmake/OpenCVDetectFlatbuffers.cmake
@@ -1,9 +1,9 @@
@@ -1,5 +1,8 @@
if(WITH_FLATBUFFERS)
set(HAVE_FLATBUFFERS 1)
- set(flatbuffers_VERSION "23.5.9")
- ocv_install_3rdparty_licenses(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/LICENSE.txt")
- ocv_add_external_target(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/include" "" "HAVE_FLATBUFFERS=1")
- set(CUSTOM_STATUS_flatbuffers " Flatbuffers:" "builtin/3rdparty (${flatbuffers_VERSION})")
+ set(flatbuffers_VERSION "23.5.26")
+ find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers.h PATH_SUFFIXES flatbuffers)
+ get_filename_component(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_INCLUDE_DIR}" PATH)
+ ocv_add_external_target(flatbuffers "${FLATBUFFERS_INCLUDE_DIR}" "" "HAVE_FLATBUFFERS=1")
endif()
if(WITH_FLATBUFFERS OR HAVE_FLATBUFFERS)
+ find_package(flatbuffers CONFIG REQUIRED)
+ ocv_add_external_target(flatbuffers "" "flatbuffers::flatbuffers" "HAVE_FLATBUFFERS=1")
+elseif(0)
set(flatbuffers_VERSION "23.5.9")
ocv_install_3rdparty_licenses(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/LICENSE.txt")
ocv_add_external_target(flatbuffers "${OpenCV_SOURCE_DIR}/3rdparty/flatbuffers/include" "" "HAVE_FLATBUFFERS=1")

View File

@@ -1,10 +0,0 @@
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -869,6 +869,7 @@ macro(ocv_glob_module_sources)
set(OCL_NAME opencl_kernels_${name})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" # don't add .hpp file here to optimize build process
+ "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.hpp" # in reality vcpkg needs them
COMMAND ${CMAKE_COMMAND} "-DMODULE_NAME=${name}" "-DCL_DIR=${CMAKE_CURRENT_LIST_DIR}/src/opencl" "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
COMMENT "Processing OpenCL kernels (${name})"

View File

@@ -1,15 +0,0 @@
diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp
index fc3b533..94b3b03 100644
--- a/modules/core/src/system.cpp
+++ b/modules/core/src/system.cpp
@@ -50,6 +50,7 @@ direct,
#include "precomp.hpp"
#include <atomic>
+#include <exception>
#include <iostream>
#include <ostream>
--
2.50.0

View File

@@ -4,39 +4,32 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
REF "${VERSION}"
SHA512 3b6e0da8169449944715de9e66380977791069a1d8288534ec768eaa2fb68533821fd8e06eac925a26656baf42185258b13aa80579e1e9be3ebc18fcea66f24d
SHA512 8ac63ddd61e22cc0eaeafee4f30ae6e1cab05fc4929e2cea29070203b9ca8dfead12cc0fd7c4a87b65c1e20ec6b9ab4865a1b83fad33d114fc0708fdf107c51b
HEAD_REF master
PATCHES
0001-disable-downloading.patch
0002-install-options.patch
0003-force-package-requirements.patch
0004-fix-eigen.patch
0005-fix-policy-CMP0057.patch
0006-fix-uwp.patch
0004-opencl.diff
0005-vulkan.diff
0008-devendor-quirc.patch
0009-fix-protobuf.patch
0010-fix-uwp-tiff-imgcodecs.patch
0011-remove-python2.patch
0012-miss-openexr.patch
0014-fix-cmake-in-list.patch
0015-fix-freetype.patch
0017-fix-flatbuffers.patch
0019-opencl-kernel.patch
0020-fix-narrow-filesystem.diff
0021-fix-qt-gen-def.patch
0022-android-use-vcpkg-cpu-features.patch
0022-fix-miss-exception-include.patch
)
# Disallow accidental build of vendored copies
file(GLOB third_party "${SOURCE_PATH}/3rdparty/*")
list(FILTER third_party EXCLUDE REGEX "/ippicv\$")
file(REMOVE_RECURSE ${third_party})
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake")
vcpkg_find_acquire_program(PKGCONFIG)
set(ENV{PKG_CONFIG} "${PKGCONFIG}")
vcpkg_host_path_list(APPEND ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig")
# Disallow accidental build of vendored copies
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/cpufeatures")
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/openexr")
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/flatbuffers")
file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake")
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(TARGET_IS_AARCH64 1)
@@ -83,10 +76,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
"dnn" BUILD_opencv_dnn
"dnn" PROTOBUF_UPDATE_FILES
"dnn" UPDATE_PROTO_FILES
"dnn" WITH_FLATBUFFERS
"dnn" WITH_PROTOBUF
"dnn-cuda" OPENCV_DNN_CUDA
"dshow" WITH_DSHOW
"eigen" WITH_EIGEN
"eigen" VCPKG_LOCK_FIND_PACKAGE_Eigen3
"ffmpeg" WITH_FFMPEG
"freetype" WITH_FREETYPE
"gapi" BUILD_opencv_gapi
@@ -147,6 +142,9 @@ if("qt" IN_LIST FEATURES)
endif()
if("python" IN_LIST FEATURES)
if(EXISTS "${CURRENT_INSTALLED_DIR}/${PYTHON3_SITE}/cv2")
message(FATAL_ERROR "You cannot install opencv4[python] if opencv3[python] is already present.")
endif()
x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3")
set(ENV{PYTHON} "${PYTHON3}")
file(GLOB _py3_include_path "${CURRENT_INSTALLED_DIR}/include/python3*")
@@ -161,9 +159,6 @@ if("python" IN_LIST FEATURES)
"-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}/cv2"
"-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR}/debug/${PYTHON3_SITE}"
)
if(EXISTS "${CURRENT_INSTALLED_DIR}/${PYTHON3_SITE}/cv2")
message(FATAL_ERROR "You cannot install opencv4[python] if opencv3[python] is already present.")
endif()
endif()
if("dnn" IN_LIST FEATURES)
@@ -184,9 +179,9 @@ endif()
if(VCPKG_TARGET_IS_ANDROID AND (VCPKG_TARGET_ARCHITECTURE MATCHES "^arm"))
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://gitlab.arm.com/kleidi/kleidicv/-/archive/0.3.0/kleidicv-0.3.0.tar.gz"
FILENAME "opencv-cache/kleidicv/51a77b0185c2bac2a968a2163869b1ed-kleidicv-0.3.0.tar.gz"
SHA512 9d4bf9db3134c1904656e781fdd58bbfe75cf1f23e551fad93b6df47bd1b00b0d62f05ee49c002e331b39ccbb911075c5fae5c291119d141025058dcb4bd5955
URLS "https://gitlab.arm.com/kleidi/kleidicv/-/archive/0.5.0/kleidicv-0.5.0.tar.gz"
FILENAME "opencv-cache/kleidicv/ba5648f8df678548f337d19d8ac607d6-kleidicv-0.5.0.tar.gz"
SHA512 81b3bd441dae10407ce2646b7bc2f099cdfb72600429040d78d1b53fae44d527b37c5191a29a0e29985717d52a27e8d1e6d2fbc559e616aa612ace30ec82fe6e
)
endif()
@@ -195,7 +190,7 @@ if("contrib" IN_LIST FEATURES)
OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
REPO opencv/opencv_contrib
REF "${VERSION}"
SHA512 a5ebb6810a3b5e40858b7fd533f9eb7b3d475dfda843a489bc5168e72c5eaad0a7a23629aace1f43e1b62d9c24e5e1923d841059c297728fac464e00759886c2
SHA512 574121ca57328671741413df91fbf600cc04bb9a9beeacfb7bc20c15b2b4e8c9e031df30aafbcc34f82d85edfb098e5d008a744f4e6d833d6e47537a042045c6
HEAD_REF master
PATCHES
0007-contrib-fix-hdf5.patch
@@ -289,48 +284,71 @@ if("contrib" IN_LIST FEATURES)
endif()
if("ipp" IN_LIST FEATURES)
if(VCPKG_TARGET_IS_OSX)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
# cf. <SOURCE_PATH>/3rdparty/ippicv/ippicv.cmake
set(key NOTFOUND)
if(VCPKG_TARGET_IS_WINDOWS)
elseif(VCPKG_TARGET_IS_OSX)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/767426b2a40a011eb2fa7f44c677c13e60e205ad/ippicv/ippicv_2022.1.0_win_intel64_20250130_general.zip"
FILENAME "opencv-cache/ippicv/67a611ab22410f392239bddff6f91df7-ippicv_2022.1.0_win_intel64_20250130_general.zip"
SHA512 3a3d8a0aa4279dcbede489039eee3effea5263575fdd0a2d79dd14c0af48f90680fa7ce8567cbc47e9fec88e21d3d674a53c5939ded2d065b07e25fdefa690aa
)
elseif(VCPKG_TARGET_IS_LINUX)
set(key "linux-${VCPKG_TARGET_ARCHITECTURE}")
endif()
# For convenient updates, use
# vcpkg install opencv4[core,ipp] --cmake-args=-DVCPKG_OPENCV4_UPDATE=1
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_OPENCV4_UPDATE)
if(VCPKG_TARGET_IS_APPLE OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/0cc4aa06bf2bef4b05d237c69a5a96b9cd0cb85a/ippicv/ippicv_2021.9.1_mac_intel64_20230919_general.tgz"
FILENAME "opencv-cache/ippicv/14f01c5a4780bfae9dde9b0aaf5e56fc-ippicv_2021.9.1_mac_intel64_20230919_general.tgz"
FILENAME "opencv-cache/ippicv/67a611ab22410f392239bddff6f91df7-ippicv_2021.9.1_mac_intel64_20230919_general.tgz"
SHA512 e53aa1bf4336a94554bf40c29a74c85f595c0aec8d9102a158db7ae075db048c1ff7f50ed81eda3ac8e07b1460862970abc820073a53c0f237e584708c5295da
)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
message(FATAL_ERROR "IPP is not supported on arm64 macOS")
endif()
elseif(VCPKG_TARGET_IS_LINUX)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/7f55c0c26be418d494615afca15218566775c725/ippicv/ippicv_2021.12.0_lnx_intel64_20240425_general.tgz"
FILENAME "opencv-cache/ippicv/d06e6d44ece88f7f17a6cd9216761186-ippicv_2021.12.0_lnx_intel64_20240425_general.tgz"
SHA512 b5cffc23be195990d07709057e01d4205083652a1cdf52d076a700d7086244fe91846d2afae126a197603c58b7099872c3e908dfc22b74b21dd2b97219a8bfdd
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/767426b2a40a011eb2fa7f44c677c13e60e205ad/ippicv/ippicv_2022.1.0_win_intel64_20250130_general.zip"
FILENAME "opencv-cache/ippicv/67a611ab22410f392239bddff6f91df7-ippicv_2022.1.0_win_intel64_20250130_general.zip"
SHA512 3a3d8a0aa4279dcbede489039eee3effea5263575fdd0a2d79dd14c0af48f90680fa7ce8567cbc47e9fec88e21d3d674a53c5939ded2d065b07e25fdefa690aa
)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/7f55c0c26be418d494615afca15218566775c725/ippicv/ippicv_2021.12.0_lnx_ia32_20240425_general.tgz"
FILENAME "opencv-cache/ippicv/85ffa2b9ed7802b93c23fa27b0097d36-ippicv_2021.12.0_lnx_ia32_20240425_general.tgz"
SHA512 e3391ca0e8ed2235e32816cee55293ddd7c312a8c8ba42b1301cbb8752c6b7d47139ab3fe2aa8dd3e1670221e911cc96614bbc066e2bf9a653607413126b5ff1
)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
message(FATAL_ERROR "IPP is not supported on arm64 linux")
endif()
elseif(VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
if(NOT (VCPKG_TARGET_IS_APPLE OR VCPKG_TARGET_IS_WINDOWS) OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/7f55c0c26be418d494615afca15218566775c725/ippicv/ippicv_2021.12.0_win_intel64_20240425_general.zip"
FILENAME "opencv-cache/ippicv/402ff8c6b4986738fed71c44e1ce665d-ippicv_2021.12.0_win_intel64_20240425_general.zip"
SHA512 455e2983a4048db68ad2c4274ee009a7e9d30270c07a7bd9d06d3ae5904326d1a98155e9bb3ea8c47f8ea840671db2e0b3d5f7603fa82a926b23a1ec4f77d2fa
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/767426b2a40a011eb2fa7f44c677c13e60e205ad/ippicv/ippicv_2022.1.0_lnx_intel64_20250130_general.tgz"
FILENAME "opencv-cache/ippicv/98ff71fc242d52db9cc538388e502f57-ippicv_2022.1.0_lnx_intel64_20250130_general.tgz"
SHA512 4fe385d3b589ebac7f319c48d05214fad8f3c52fb5c8cf1fc40807a2ad7a7e9019949ad8832dd8b84f9200a5c51071175a873358eab2cb8f75ef00fbd162ad73
)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
endif()
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_OPENCV4_UPDATE)
if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/7f55c0c26be418d494615afca15218566775c725/ippicv/ippicv_2021.12.0_win_ia32_20240425_general.zip"
FILENAME "opencv-cache/ippicv/8b1d2a23957d57624d0de8f2a5cae5f1-ippicv_2021.12.0_win_ia32_20240425_general.zip"
SHA512 494f66af4eec3030fe6d2b58b89267d566fcb31f445d15cc69818d423c41fd950dc55d10694bdf91e3204ae6b13b68cc2375a2ad396b2008596c53aa0d39f4dd
)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
message(FATAL_ERROR "IPP is not supported on arm64 windows")
endif()
if(VCPKG_TARGET_IS_ANDROID OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/c7c6d527dde5fee7cb914ee9e4e20f7436aab3a1/ippicv/ippicv_2021.10.1_lnx_ia32_20231206_general.tgz"
FILENAME "opencv-cache/ippicv/d9510f3ce08f6074aac472a5c19a3b53-ippicv_2021.10.1_lnx_ia32_20231206_general.tgz"
SHA512 2e709926dfb2f31bf7759ced2db83a5f966bc44b95faedabeb05623529249ccbd689746821870c0b300de834a688cf1767d1fb653aeb06ca0973c6217d2cf94d
)
endif()
if(NOT (VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_APPLE OR VCPKG_TARGET_IS_WINDOWS) OR VCPKG_OPENCV4_UPDATE)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/7f55c0c26be418d494615afca15218566775c725/ippicv/ippicv_2021.12.0_lnx_ia32_20240425_general.tgz"
FILENAME "opencv-cache/ippicv/85ffa2b9ed7802b93c23fa27b0097d36-ippicv_2021.12.0_lnx_ia32_20240425_general.tgz"
SHA512 e3391ca0e8ed2235e32816cee55293ddd7c312a8c8ba42b1301cbb8752c6b7d47139ab3fe2aa8dd3e1670221e911cc96614bbc066e2bf9a653607413126b5ff1
)
endif()
endif()
if(VCPKG_OPENCV4_UPDATE)
message(STATUS "All downloads are up-to-date.")
message(FATAL_ERROR "Stopping due to VCPKG_OPENCV4_UPDATE being enabled.")
endif()
endif()
@@ -367,27 +385,30 @@ vcpkg_cmake_configure(
-DARM=${TARGET_IS_ARM}
###### use c++17 to enable features that fail with c++11 (halide, protobuf, etc.)
-DCMAKE_CXX_STANDARD=17
###### ocv_options
###### ocv installation dir options
-DINSTALL_TO_MANGLED_PATHS=OFF
-DOpenCV_INSTALL_BINARIES_PREFIX=
-DOPENCV_BIN_INSTALL_PATH=bin
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv4
-DOPENCV_INCLUDE_INSTALL_PATH=include/opencv4
-DOPENCV_LIB_INSTALL_PATH=lib
-DOPENCV_3P_LIB_INSTALL_PATH=lib/manual-link/opencv4_thirdparty
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv4
###### ocv_options
-DCV_TRACE=OFF
-DCMAKE_DEBUG_POSTFIX=d
-DOPENCV_DEBUG_POSTFIX=d
-DOPENCV_DLLVERSION=4
-DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
-DOPENCV_FFMPEG_SKIP_BUILD_CHECK=TRUE
-DCMAKE_DEBUG_POSTFIX=d
-DOPENCV_DLLVERSION=4
-DOPENCV_DEBUG_POSTFIX=d
-DOPENCV_GENERATE_SETUPVARS=OFF
-DOPENCV_FORCE_EIGEN_FIND_PACKAGE_CONFIG=ON
-DOPENCV_GENERATE_PKGCONFIG=ON
# Do not build docs/examples
-DOPENCV_GENERATE_SETUPVARS=OFF
-DOPENCV_PYTHON2_SKIP_DETECTION=ON
# Do not build docs/examples/tests
-DBUILD_DOCS=OFF
-DBUILD_EXAMPLES=OFF
-DBUILD_PERF_TESTS=OFF
-DBUILD_TESTS=OFF
-Dade_DIR=${ADE_DIR}
###### Disable build 3rd party libs
-DBUILD_IPP_IW=OFF
-DBUILD_ITT=OFF
@@ -425,7 +446,7 @@ vcpkg_cmake_configure(
-DOPENCV_OTHER_INSTALL_PATH=share/opencv4
###### customized properties
${FEATURE_OPTIONS}
-DWITH_QT=${WITH_QT}
-Dade_DIR=${ADE_DIR}
-DWITH_AVIF=OFF
-DWITH_CPUFEATURES=${WITH_CPUFEATURES}
-DWITH_ITT=OFF
@@ -436,13 +457,13 @@ vcpkg_cmake_configure(
-DWITH_NVCUVENC=OFF
-DWITH_OBSENSOR=OFF
-DWITH_OPENCL_D3D11_NV=OFF
-DWITH_OPENCLAMDFFT=OFF
-DWITH_OPENCLAMDBLAS=OFF
-DWITH_OPENCLAMDFFT=OFF
-DWITH_QT=${WITH_QT}
-DWITH_SPNG=OFF #spng is mutually exclusive with png, which has been chosen since it's more widely used
-DWITH_VA=OFF
-DWITH_VA_INTEL=OFF
-DWITH_ZLIB_NG=OFF
-DCV_TRACE=OFF
###### Additional build flags
${ADDITIONAL_BUILD_FLAGS}
OPTIONS_RELEASE
@@ -450,6 +471,9 @@ vcpkg_cmake_configure(
OPTIONS_DEBUG
${PYTHON_EXTRA_DEFINES_DEBUG}
MAYBE_UNUSED_VARIABLES
OPENCV_FORCE_EIGEN_FIND_PACKAGE_CONFIG
OPENCV_PYTHON2_SKIP_DETECTION
VCPKG_LOCK_FIND_PACKAGE_Eigen3
VCPKG_LOCK_FIND_PACKAGE_Iconv
)
@@ -492,6 +516,9 @@ endif()")
if("ade" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(ade)")
endif()
if("dnn" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(flatbuffers CONFIG)")
endif()
if("eigen" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)")
endif()
@@ -513,6 +540,9 @@ endif()
if("omp" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)")
endif()
if("opencl" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(OpenCL CONFIG)")
endif()
if("openexr" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)")
endif()
@@ -556,6 +586,9 @@ endif()
if("vtk" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(VTK)")
endif()
if("vulkan" IN_LIST FEATURES)
string(APPEND DEPS_STRING "\nfind_dependency(VulkanHeaders CONFIG)")
endif()
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}")

View File

@@ -1,10 +1,10 @@
{
"name": "opencv4",
"version": "4.11.0",
"port-version": 9,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"license": "Apache-2.0",
"version": "4.12.0",
"description": "Open Source Computer Vision Library",
"homepage": "https://opencv.org/",
"documentation": "https://docs.opencv.org/4.12.0/",
"license": null,
"dependencies": [
{
"name": "cpu-features",
@@ -166,7 +166,7 @@
},
"dshow": {
"description": "Enable DirectShow",
"supports": "windows"
"supports": "windows & !uwp"
},
"eigen": {
"description": "Eigen support for opencv",
@@ -297,7 +297,6 @@
},
"opencl": {
"description": "Enable opencl support",
"supports": "!osx",
"dependencies": [
"opencl"
]
@@ -512,7 +511,8 @@
"features": [
"dnn"
]
}
},
"vulkan-headers"
]
},
"webp": {

View File

@@ -1721,7 +1721,6 @@ opencv3[opengl](android) = feature-fails
opencv3[opengl](linux | osx) = no-separate-feature-test # needs gui (gtk | qt)
opencv3[sfm](android) = feature-fails
opencv4[core,cuda,world](windows)=options
opencv4[dshow](!windows | uwp)=feature-fails
opencv4[halide](!android & !(windows & staticcrt) & !uwp & !(arm & windows))=feature-fails # error C2039: 'attachHalide': is not a member of 'cv::dnn::GeluFunctor'
opencv4[opengl]:x64-linux=feature-fails
opencv4[opengl](android)=feature-fails
@@ -1823,9 +1822,9 @@ magnum[anyshaderconverter,shadertools,shaderconverter,vk-info] = skip # only ava
magnum-plugins[cgltfimporter,glslangshaderconverter,ktximageconverter,ktximporter,openexrimageconverter,openexrimporter,spirvtoolsshaderconverter,stbdxtimageconverter] = skip # only available in head build
octave(android)=skip
opencv3[world] = skip # fails in combinations with "viz"
opencv4[ade,calib3d,contrib,eigen,ffmpeg,fs,highgui,intrinsics,jpeg,jpegxl,nonfree,openjpeg,png,quirc,thread,tiff,vulkan]=no-separate-feature-test
opencv4[dshow]:x64-uwp=feature-fails
opencv4[ade,aravis,calib3d,carotene,contrib,eigen,ffmpeg,freetype,fs,gapi,gdcm,gstreamer,hdf,highgui,intrinsics](!linux & !(arm64 & android))=no-separate-feature-test # a-i
opencv4[halide]=no-separate-feature-test # error C2039: 'attachHalide': is not a member of 'cv::dnn::GeluFunctor'
opencv4[jpeg,jpegxl,nonfree,openexr,openjpeg,png,quality,quirc,qt,sfm,rgbd,thread,text,tiff,vulkan,webp,world](!osx & !(x64 & android))=no-separate-feature-test # j-l
opencv4[opengl]=no-separate-feature-test # needs Win32UI, Qt or GTK to enable HAVE_OPENGL
openjpeg[tools] = skip # fails and is deprecated
openvino:arm64-android=skip # conflicts with kleidiai

View File

@@ -48,20 +48,11 @@
],
"platform": "!uwp"
},
{
"name": "opencv",
"default-features": false,
"features": [
"opencl"
],
"platform": "!uwp & !osx"
},
{
"name": "opencv",
"default-features": false,
"features": [
"dnn",
"vulkan",
"webp"
],
"platform": "!android"
@@ -77,6 +68,14 @@
],
"platform": "windows & !uwp"
},
{
"name": "opencv",
"default-features": false,
"features": [
"opencl"
],
"platform": "!osx & !uwp"
},
{
"name": "opencv",
"default-features": false,
@@ -89,36 +88,11 @@
"name": "opencv",
"default-features": false,
"features": [
"gapi",
"gstreamer"
"aravis",
"vtk",
"vulkan"
],
"platform": "!uwp & !(windows & static) & !android"
},
{
"name": "opencv",
"default-features": false,
"features": [
"python"
],
"platform": "!uwp & !(windows & static) & !android & !linux"
},
{
"name": "opencv",
"default-features": false,
"features": [
"ovis"
],
"platform": "!uwp & !android & !(windows & static)"
},
{
"name": "opencv",
"default-features": false,
"features": [
"cuda",
"cudnn",
"dnn-cuda"
],
"platform": "(windows & x64 & !uwp) | (linux & x64) | (linux & arm64)"
"platform": "!android & !uwp"
},
{
"name": "opencv",
@@ -132,10 +106,29 @@
"name": "opencv",
"default-features": false,
"features": [
"aravis",
"vtk"
"gapi",
"gstreamer",
"ovis"
],
"platform": "!android & !uwp"
"platform": "!android & !uwp & !(windows & static)"
},
{
"name": "opencv",
"default-features": false,
"features": [
"python"
],
"platform": "!android & !linux & !uwp & !(windows & static)"
},
{
"name": "opencv",
"default-features": false,
"features": [
"cuda",
"cudnn",
"dnn-cuda"
],
"platform": "(windows & x64 & !uwp) | (linux & x64) | (linux & arm64)"
},
{
"name": "opencv2",
@@ -149,7 +142,7 @@
"qt",
"tiff"
],
"platform": "!android & !uwp & !(arm & windows)"
"platform": "!android & !uwp & !(windows & arm)"
},
{
"name": "opencv3",
@@ -196,7 +189,7 @@
"features": [
"gstreamer"
],
"platform": "!uwp & !android & !(windows & static)"
"platform": "!android & !uwp & !(windows & static)"
},
{
"name": "opencv3",
@@ -212,7 +205,7 @@
"sfm",
"vtk"
],
"platform": "!uwp & !android & !(windows & (arm | arm64)) & !(osx & arm64)"
"platform": "!android & !osx & !uwp & !(windows & arm)"
}
]
}

View File

@@ -7181,8 +7181,8 @@
"port-version": 3
},
"opencv": {
"baseline": "4.11.0",
"port-version": 1
"baseline": "4.12.0",
"port-version": 0
},
"opencv2": {
"baseline": "2.4.13.7",
@@ -7193,8 +7193,8 @@
"port-version": 0
},
"opencv4": {
"baseline": "4.11.0",
"port-version": 9
"baseline": "4.12.0",
"port-version": 0
},
"opendnp3": {
"baseline": "3.1.2",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5fc4348a205101a8ca279922d9f90ea6b9f85c59",
"version": "4.12.0",
"port-version": 0
},
{
"git-tree": "35a9eefc040b502181ec8bb86d2303d1d0a99965",
"version": "4.11.0",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "66f8dced6fe206c5dbe9481ed6e45414e3e96a0b",
"version": "4.12.0",
"port-version": 0
},
{
"git-tree": "5d15ae472e49e35d5a6eae1dd6a37deca194023d",
"version": "4.11.0",