aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/opencv2
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/opencv2
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/opencv2')
-rw-r--r--vcpkg/ports/opencv2/0001-install-options.patch368
-rw-r--r--vcpkg/ports/opencv2/0002-fix-paths-containing-symbols.patch47
-rw-r--r--vcpkg/ports/opencv2/0003-force-package-requirements.patch47
-rw-r--r--vcpkg/ports/opencv2/0004-enable-pkgconf.patch13
-rw-r--r--vcpkg/ports/opencv2/0005-fix-config.patch18
-rw-r--r--vcpkg/ports/opencv2/0006-fix-jasper.patch20
-rw-r--r--vcpkg/ports/opencv2/0007-fix-openexr.patch26
-rw-r--r--vcpkg/ports/opencv2/0008-missing-include.patch10
-rw-r--r--vcpkg/ports/opencv2/0009-pkgconfig-suffix.patch15
-rw-r--r--vcpkg/ports/opencv2/0010-fix-cmake4.patch34
-rw-r--r--vcpkg/ports/opencv2/0011-msvc-compile-fix.patch12
-rw-r--r--vcpkg/ports/opencv2/portfile.cmake138
-rw-r--r--vcpkg/ports/opencv2/usage.in4
-rw-r--r--vcpkg/ports/opencv2/vcpkg.json100
14 files changed, 852 insertions, 0 deletions
diff --git a/vcpkg/ports/opencv2/0001-install-options.patch b/vcpkg/ports/opencv2/0001-install-options.patch
new file mode 100644
index 0000000..fa01b8b
--- /dev/null
+++ b/vcpkg/ports/opencv2/0001-install-options.patch
@@ -0,0 +1,368 @@
+--- a/3rdparty/libtiff/CMakeLists.txt
++++ b/3rdparty/libtiff/CMakeLists.txt
+@@ -102,7 +102,7 @@ if(UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR CV_ICC))
+ endif()
+
+ add_library(${TIFF_LIBRARY} STATIC ${lib_srcs})
+-target_link_libraries(${TIFF_LIBRARY} ${ZLIB_LIBRARIES})
++target_link_libraries(${TIFF_LIBRARY} ZLIB::ZLIB)
+
+ set_target_properties(${TIFF_LIBRARY}
+ PROPERTIES
+--- a/3rdparty/openexr/CMakeLists.txt
++++ b/3rdparty/openexr/CMakeLists.txt
+@@ -55,7 +55,7 @@ if(MSVC AND CV_ICC)
+ endif()
+
+ add_library(IlmImf STATIC ${lib_hdrs} ${lib_srcs})
+-target_link_libraries(IlmImf ${ZLIB_LIBRARIES})
++target_link_libraries(IlmImf ZLIB::ZLIB)
+
+ set_target_properties(IlmImf
+ PROPERTIES
+--- a/3rdparty/tbb/CMakeLists.txt
++++ b/3rdparty/tbb/CMakeLists.txt
+@@ -116,7 +116,7 @@ endif()
+
+ if(NOT EXISTS "${tbb_tarball}")
+ message(STATUS "Downloading ${tbb_ver}_src.tgz")
+- file(DOWNLOAD "${tbb_url}" "${tbb_tarball}" TIMEOUT 600 STATUS __statvar)
++ message(FATAL_ERROR " Downloads are not permitted during configure. Please pre-download the file \"${CACHE_CANDIDATE}\":\n \n vcpkg_download_distfile(OCV_DOWNLOAD\n URLS \"${tbb_url}\"\n FILENAME \"${tbb_tarball}\"\n SHA512 0\n )")
+ if(NOT __statvar EQUAL 0)
+ message(FATAL_ERROR "Failed to download TBB sources (${__statvar}): ${tbb_url}")
+ endif()
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -275,23 +275,10 @@ if (ANDROID)
+ endif()
+
+ if(NOT DEFINED OPENCV_DOC_INSTALL_PATH)
+- if(ANDROID OR WIN32)
+- set(OPENCV_DOC_INSTALL_PATH doc)
+- elseif(INSTALL_TO_MANGLED_PATHS)
+- set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc)
+- else()
+- set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
+- endif()
++ set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
+ endif()
+
+-if(WIN32)
+- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+- set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
+- else()
+- message(STATUS "Can't detect runtime and/or arch")
+- set(OpenCV_INSTALL_BINARIES_PREFIX "")
+- endif()
+-elseif(ANDROID)
++if(ANDROID)
+ set(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/")
+ else()
+ set(OpenCV_INSTALL_BINARIES_PREFIX "")
+@@ -322,29 +309,13 @@ if(ANDROID)
+ set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include)
+ set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
+ else()
+- set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib")
+- set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
+- if(WIN32)
+- if(OpenCV_STATIC)
+- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+- else()
+- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
+- endif()
+- set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+- set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
+- else()
+- set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
+- set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
+- set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples)
+- endif()
+- set(OPENCV_INCLUDE_INSTALL_PATH "include")
+-
+- math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}")
+- if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX)
+- set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv)
+- else()
+- set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV)
+- endif()
++ set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib")
++ set(3P_LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}")
++ set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib")
++ set(OPENCV_3P_LIB_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH}")
++ set(OPENCV_SAMPLES_SRC_INSTALL_PATH "share/opencv2/samples")
++ set(OPENCV_INCLUDE_INSTALL_PATH "include/opencv2.4")
++ set(OPENCV_CONFIG_INSTALL_PATH "share/opencv2")
+ endif()
+
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}")
+@@ -354,15 +325,8 @@ if(INSTALL_TO_MANGLED_PATHS)
+ set(OPENCV_INCLUDE_INSTALL_PATH ${OPENCV_INCLUDE_INSTALL_PATH}/opencv-${OPENCV_VERSION})
+ endif()
+
+-if(WIN32)
+- # Postfix of DLLs:
+- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
++ set(OPENCV_DLLVERSION 2)
+ set(OPENCV_DEBUG_POSTFIX d)
+-else()
+- # Postfix of so's:
+- set(OPENCV_DLLVERSION "")
+- set(OPENCV_DEBUG_POSTFIX "")
+-endif()
+
+ if(DEFINED CMAKE_DEBUG_POSTFIX)
+ set(OPENCV_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
+@@ -397,8 +361,6 @@ if(CMAKE_HOST_WIN32)
+ endif()
+ endif()
+
+-find_host_program(GIT_EXECUTABLE NAMES ${git_names} PATH_SUFFIXES Git/cmd Git/bin DOC "git command line client")
+-mark_as_advanced(GIT_EXECUTABLE)
+
+ if(GIT_EXECUTABLE)
+ execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty --match "2.[0-9].[0-9]*"
+@@ -501,7 +463,9 @@ if(BUILD_DOCS)
+ endif(BUILD_DOCS)
+
+ # --- Python Support ---
+-include(cmake/OpenCVDetectPython.cmake)
++if(WITH_PYTHON)
++ include(cmake/OpenCVDetectPython.cmake)
++endif()
+
+ # --- Java Support ---
+ include(cmake/OpenCVDetectApacheAnt.cmake)
+@@ -885,11 +849,7 @@ if(ANDROID)
+ endif()
+
+ if(DEFINED WITH_FFMPEG OR HAVE_FFMPEG)
+- if(WIN32)
+- status(" FFMPEG:" WITH_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO)
+- else()
+ status(" FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO)
+- endif()
+ status(" avcodec:" FFMPEG_libavcodec_FOUND THEN "YES (ver ${FFMPEG_libavcodec_VERSION})" ELSE NO)
+ status(" avformat:" FFMPEG_libavformat_FOUND THEN "YES (ver ${FFMPEG_libavformat_VERSION})" ELSE NO)
+ status(" avutil:" FFMPEG_libavutil_FOUND THEN "YES (ver ${FFMPEG_libavutil_VERSION})" ELSE NO)
+--- a/cmake/OpenCVCompilerOptions.cmake
++++ b/cmake/OpenCVCompilerOptions.cmake
+@@ -269,7 +269,6 @@ if(MSVC)
+ set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /bigobj")
+ endif()
+ if(BUILD_WITH_DEBUG_INFO)
+- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
+ endif()
+
+ if(ENABLE_SSE4_1 AND CV_ICC AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:")
+--- a/cmake/OpenCVFindLibsVideo.cmake
++++ b/cmake/OpenCVFindLibsVideo.cmake
+@@ -185,12 +185,8 @@ endif(WITH_XIMEA)
+ # --- FFMPEG ---
+ ocv_clear_vars(HAVE_FFMPEG)
+ if(WITH_FFMPEG)
+- if(WIN32 AND NOT ARM)
+- include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg_version.cmake")
++ find_package(FFMPEG REQUIRED)
+ set(HAVE_FFMPEG TRUE)
+- elseif(PKG_CONFIG_FOUND)
+- ocv_check_modules(FFMPEG libavcodec libavformat libavutil libswscale)
+- ocv_check_modules(FFMPEG_libavresample libavresample)
+ if(FFMPEG_libavresample_FOUND)
+ ocv_append_build_options(FFMPEG FFMPEG_libavresample)
+ endif()
+@@ -211,9 +207,6 @@ if(WITH_FFMPEG)
+ ocv_append_build_options(HIGHGUI FFMPEG)
+ endif()
+ endif()
+- else()
+- message(STATUS "Can't find ffmpeg - 'pkg-config' utility is missing")
+- endif()
+ endif(WITH_FFMPEG)
+
+ # --- VideoInput/DirectShow ---
+--- a/cmake/OpenCVGenConfig.cmake
++++ b/cmake/OpenCVGenConfig.cmake
+@@ -101,7 +101,7 @@ endif()
+ configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY)
+ configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY)
+
+-if(UNIX) # ANDROID configuration is created here also
++if(1) # ANDROID configuration is created here also
+ #http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
+ # For a command "find_package(<name> [major[.minor]] [EXACT] [REQUIRED|QUIET])"
+ # cmake will look in the following dir on unix:
+@@ -126,7 +126,7 @@ endif()
+ # --------------------------------------------------------------------------------------------
+ # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
+ # --------------------------------------------------------------------------------------------
+-if(WIN32)
++if(0)
+ set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_CONFIG_PATH}/include\" \"\${OpenCV_CONFIG_PATH}/include/opencv\"")
+ set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
+
+--- a/cmake/OpenCVGenPkgconfig.cmake
++++ b/cmake/OpenCVGenPkgconfig.cmake
+@@ -95,7 +95,7 @@ set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
+ if(INSTALL_TO_MANGLED_PATHS)
+ set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
+ else()
+- set(OPENCV_PC_FILE_NAME opencv.pc)
++ set(OPENCV_PC_FILE_NAME opencv2.pc)
+ endif()
+ configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv-XXX.pc.in"
+ "${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}"
+--- a/cmake/OpenCVModule.cmake
++++ b/cmake/OpenCVModule.cmake
+@@ -86,10 +86,10 @@ macro(ocv_add_dependencies full_modname)
+ endforeach()
+ unset(__depsvar)
+
+- ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS)
+- ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS)
+- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
+- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS)
++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS)
++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
+
+ set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS}
+ CACHE INTERNAL "Required dependencies of ${full_modname} module")
+@@ -277,7 +277,7 @@ endfunction()
+
+ # sort modules by dependencies
+ function(__ocv_sort_modules_by_deps __lst)
+- ocv_list_sort(${__lst})
++ #ocv_list_sort(${__lst})
+ set(${__lst}_ORDERED ${${__lst}} CACHE INTERNAL "")
+ set(__result "")
+ foreach (m ${${__lst}})
+@@ -382,7 +382,7 @@ function(__ocv_resolve_dependencies)
+ endforeach()
+ endforeach()
+
+- ocv_list_sort(OPENCV_MODULES_BUILD)
++ #ocv_list_sort(OPENCV_MODULES_BUILD)
+
+ foreach(m ${OPENCV_MODULES_BUILD})
+ # message(STATUS "FULL deps of ${m}: ${deps_${m}}")
+@@ -397,7 +397,7 @@ function(__ocv_resolve_dependencies)
+ # reorder dependencies
+ foreach(m ${OPENCV_MODULES_BUILD})
+ __ocv_sort_modules_by_deps(OPENCV_MODULE_${m}_DEPS)
+- ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT)
++ #ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT)
+
+ set(OPENCV_MODULE_${m}_DEPS ${OPENCV_MODULE_${m}_DEPS} CACHE INTERNAL "Flattened dependencies of ${m} module")
+ set(OPENCV_MODULE_${m}_DEPS_EXT ${OPENCV_MODULE_${m}_DEPS_EXT} CACHE INTERNAL "Extra dependencies of ${m} module")
+@@ -581,8 +581,6 @@ macro(ocv_create_module)
+ target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS})
+ target_link_libraries(${the_module} LINK_PUBLIC ${OPENCV_MODULE_${the_module}_DEPS})
+ set(extra_deps ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
+- ocv_extract_simple_libs(extra_deps _simple_deps _other_deps)
+- target_link_libraries(${the_module} LINK_PRIVATE ${_simple_deps}) # this list goes to "export"
+ target_link_libraries(${the_module} LINK_PRIVATE ${extra_deps})
+ endif()
+
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -5,8 +5,6 @@ if(ANDROID)
+ install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT libs)
+ install(FILES ${LBP_CASCADES} DESTINATION sdk/etc/lbpcascades COMPONENT libs)
+ else()
+- install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs)
+- install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs)
+ endif()
+
+ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
+@@ -51,4 +49,4 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
+ install(FILES ${DATAFILES_CASCADES} DESTINATION share/OpenCV/testdata/data/haarcascades COMPONENT tests)
+ endif()
+ endif()
+-endif()
+\ No newline at end of file
++endif()
+--- a/modules/core/CMakeLists.txt
++++ b/modules/core/CMakeLists.txt
+@@ -1,9 +1,9 @@
+ set(the_description "The Core Functionality")
+
+ if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA)
+- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES})
++ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB)
+ else()
+- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
++ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
+ endif()
+
+ ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR})
+--- a/modules/highgui/CMakeLists.txt
++++ b/modules/highgui/CMakeLists.txt
+@@ -15,23 +15,23 @@ endif()
+
+ if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR)
+ ocv_include_directories(${ZLIB_INCLUDE_DIR})
+- list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES})
++ list(APPEND GRFMT_LIBS ZLIB::ZLIB)
+ endif()
+
+ if(HAVE_JPEG)
+ ocv_include_directories(${JPEG_INCLUDE_DIR})
+- list(APPEND GRFMT_LIBS ${JPEG_LIBRARIES})
++ list(APPEND GRFMT_LIBS JPEG::JPEG)
+ endif()
+
+ if(HAVE_PNG)
+ add_definitions(${PNG_DEFINITIONS})
+ ocv_include_directories(${PNG_INCLUDE_DIR})
+- list(APPEND GRFMT_LIBS ${PNG_LIBRARIES})
++ list(APPEND GRFMT_LIBS PNG::PNG)
+ endif()
+
+ if(HAVE_TIFF)
+ ocv_include_directories(${TIFF_INCLUDE_DIR})
+- list(APPEND GRFMT_LIBS ${TIFF_LIBRARIES})
++ list(APPEND GRFMT_LIBS TIFF::TIFF)
+ endif()
+
+ if(HAVE_JASPER)
+@@ -296,38 +296,5 @@ endif()
+ ocv_add_precompiled_headers(${the_module})
+ ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations -Wno-clobbered)
+
+-if(WIN32 AND WITH_FFMPEG)
+- #copy ffmpeg dll to the output folder
+- if(MSVC64 OR MINGW64)
+- set(FFMPEG_SUFFIX _64)
+- endif()
+-
+- set(ffmpeg_bare_name "opencv_ffmpeg${FFMPEG_SUFFIX}.dll")
+- set(ffmpeg_bare_name_ver "opencv_ffmpeg${OPENCV_DLLVERSION}${FFMPEG_SUFFIX}.dll")
+- set(ffmpeg_path "${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/${ffmpeg_bare_name}")
+-
+- #if(MSVC AND CMAKE_VERSION VERSION_GREATER "2.8.2")
+- # add_custom_command(TARGET ${the_module} POST_BUILD
+- # COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/$<CONFIGURATION>/${ffmpeg_bare_name_ver}"
+- # COMMENT "Copying ${ffmpeg_path} to the output directory")
+- #else
+- if(MSVC_IDE)
+- add_custom_command(TARGET ${the_module} POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Release/${ffmpeg_bare_name_ver}"
+- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Debug/${ffmpeg_bare_name_ver}"
+- COMMENT "Copying ${ffmpeg_path} to the output directory")
+- elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Visual"))
+- add_custom_command(TARGET ${the_module} POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/${ffmpeg_bare_name_ver}"
+- COMMENT "Copying ${ffmpeg_path} to the output directory")
+- else()
+- add_custom_command(TARGET ${the_module} POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${ffmpeg_bare_name_ver}"
+- COMMENT "Copying ${ffmpeg_path} to the output directory")
+- endif()
+-
+- install(FILES "${ffmpeg_path}" DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT libs RENAME "${ffmpeg_bare_name_ver}")
+-endif()
+-
+ ocv_add_accuracy_tests()
+ ocv_add_perf_tests()
diff --git a/vcpkg/ports/opencv2/0002-fix-paths-containing-symbols.patch b/vcpkg/ports/opencv2/0002-fix-paths-containing-symbols.patch
new file mode 100644
index 0000000..c24b5eb
--- /dev/null
+++ b/vcpkg/ports/opencv2/0002-fix-paths-containing-symbols.patch
@@ -0,0 +1,47 @@
+--- a/cmake/OpenCVUtils.cmake
++++ b/cmake/OpenCVUtils.cmake
+@@ -82,12 +82,42 @@ macro(ocv_check_environment_variables)
+ endforeach()
+ endmacro()
+
++# check if "sub" (file or dir) is below "dir"
++function(is_subdir res dir sub )
++ get_filename_component(dir "${dir}" ABSOLUTE)
++ get_filename_component(sub "${sub}" ABSOLUTE)
++ file(TO_CMAKE_PATH "${dir}" dir)
++ file(TO_CMAKE_PATH "${sub}" sub)
++ set(dir "${dir}/")
++ string(LENGTH "${dir}" len)
++ string(LENGTH "${sub}" len_sub)
++ if(NOT len GREATER len_sub)
++ string(SUBSTRING "${sub}" 0 ${len} prefix)
++ endif()
++ if(prefix AND prefix STREQUAL dir)
++ set(${res} TRUE PARENT_SCOPE)
++ else()
++ set(${res} FALSE PARENT_SCOPE)
++ endif()
++endfunction()
++
++function(ocv_is_opencv_directory result_var dir)
++ set(result FALSE)
++ foreach(parent ${OpenCV_SOURCE_DIR} ${OpenCV_BINARY_DIR} ${OPENCV_EXTRA_MODULES_PATH})
++ is_subdir(result "${parent}" "${dir}")
++ if(result)
++ break()
++ endif()
++ endforeach()
++ set(${result_var} ${result} PARENT_SCOPE)
++endfunction()
++
+ # adds include directories in such a way that directories from the OpenCV source tree go first
+ function(ocv_include_directories)
+ set(__add_before "")
+ foreach(dir ${ARGN})
+- get_filename_component(__abs_dir "${dir}" ABSOLUTE)
+- if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}")
++ ocv_is_opencv_directory(__is_opencv_dir "${dir}")
++ if(__is_opencv_dir)
+ list(APPEND __add_before "${dir}")
+ elseif(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
+ dir MATCHES "/usr/include$")
diff --git a/vcpkg/ports/opencv2/0003-force-package-requirements.patch b/vcpkg/ports/opencv2/0003-force-package-requirements.patch
new file mode 100644
index 0000000..335aed4
--- /dev/null
+++ b/vcpkg/ports/opencv2/0003-force-package-requirements.patch
@@ -0,0 +1,47 @@
+--- a/cmake/OpenCVFindLibsGrfmt.cmake
++++ b/cmake/OpenCVFindLibsGrfmt.cmake
+@@ -6,7 +6,7 @@
+ if(BUILD_ZLIB)
+ ocv_clear_vars(ZLIB_FOUND)
+ else()
+- include(FindZLIB)
++ find_package(ZLIB REQUIRED)
+ if(ZLIB_FOUND AND ANDROID)
+ if(ZLIB_LIBRARIES STREQUAL "${ANDROID_SYSROOT}/usr/lib/libz.so" OR
+ ZLIB_LIBRARIES STREQUAL "${ANDROID_SYSROOT}/usr/lib64/libz.so")
+@@ -32,7 +32,7 @@ if(WITH_TIFF)
+ if(BUILD_TIFF)
+ ocv_clear_vars(TIFF_FOUND)
+ else()
+- include(FindTIFF)
++ find_package(TIFF REQUIRED)
+ 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()
+@@ -74,7 +74,7 @@ if(WITH_JPEG)
+ if(BUILD_JPEG)
+ ocv_clear_vars(JPEG_FOUND)
+ else()
+- include(FindJPEG)
++ find_package(JPEG REQUIRED)
+ endif()
+
+ if(NOT JPEG_FOUND)
+@@ -95,7 +95,7 @@ if(WITH_JASPER)
+ if(BUILD_JASPER)
+ ocv_clear_vars(JASPER_FOUND)
+ else()
+- include(FindJasper)
++ find_package(Jasper REQUIRED)
+ endif()
+
+ if(NOT JASPER_FOUND)
+@@ -119,7 +119,7 @@ if(WITH_PNG)
+ if(BUILD_PNG)
+ ocv_clear_vars(PNG_FOUND)
+ else()
+- include(FindPNG)
++ find_package(PNG REQUIRED)
+ if(PNG_FOUND)
+ include(CheckIncludeFile)
+ check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
diff --git a/vcpkg/ports/opencv2/0004-enable-pkgconf.patch b/vcpkg/ports/opencv2/0004-enable-pkgconf.patch
new file mode 100644
index 0000000..bc3d9fe
--- /dev/null
+++ b/vcpkg/ports/opencv2/0004-enable-pkgconf.patch
@@ -0,0 +1,13 @@
+--- a/cmake/OpenCVUtils.cmake
++++ b/cmake/OpenCVUtils.cmake
+@@ -1,9 +1,7 @@
+ include(CheckFunctionExists)
+ include(CheckIncludeFile)
+
+-if(UNIX)
+- find_package(PkgConfig)
++ find_package(PkgConfig REQUIRED)
+-endif()
+
+ # Search packages for the host system instead of packages for target system
+ # in case of cross compilation these macros should be defined by the toolchain file
diff --git a/vcpkg/ports/opencv2/0005-fix-config.patch b/vcpkg/ports/opencv2/0005-fix-config.patch
new file mode 100644
index 0000000..e9449e5
--- /dev/null
+++ b/vcpkg/ports/opencv2/0005-fix-config.patch
@@ -0,0 +1,18 @@
+--- a/cmake/templates/OpenCVConfig.cmake.in
++++ b/cmake/templates/OpenCVConfig.cmake.in
+@@ -97,7 +97,6 @@ set(OpenCV_USE_MANGLED_PATHS @OpenCV_USE_MANGLED_PATHS_CONFIGCMAKE@)
+ # Extract the directory where *this* file has been installed (determined at cmake run-time)
+ get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
+
+-if(NOT WIN32 OR ANDROID)
+ if(ANDROID)
+ set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../..")
+ else()
+@@ -109,7 +108,6 @@ if(NOT WIN32 OR ANDROID)
+ else()
+ get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" REALPATH)
+ endif()
+-endif()
+
+ # Presence of Android native camera wrappers
+ set(OpenCV_HAVE_ANDROID_CAMERA @HAVE_opencv_androidcamera@)
diff --git a/vcpkg/ports/opencv2/0006-fix-jasper.patch b/vcpkg/ports/opencv2/0006-fix-jasper.patch
new file mode 100644
index 0000000..403305f
--- /dev/null
+++ b/vcpkg/ports/opencv2/0006-fix-jasper.patch
@@ -0,0 +1,20 @@
+--- a/modules/highgui/src/grfmt_jpeg2000.cpp
++++ b/modules/highgui/src/grfmt_jpeg2000.cpp
+@@ -377,7 +377,7 @@ bool Jpeg2KDecoder::readComponent8u( uchar *data, void *_buffer,
+
+ for( y = 0; y < yend - ystart; )
+ {
+- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
++ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
+ uchar* dst = data + (y - yoffset) * step - xoffset;
+
+ if( xstep == 1 )
+@@ -443,7 +443,7 @@ bool Jpeg2KDecoder::readComponent16u( unsigned short *data, void *_buffer,
+
+ for( y = 0; y < yend - ystart; )
+ {
+- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 );
++ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 );
+ ushort* dst = data + (y - yoffset) * step - xoffset;
+
+ if( xstep == 1 )
diff --git a/vcpkg/ports/opencv2/0007-fix-openexr.patch b/vcpkg/ports/opencv2/0007-fix-openexr.patch
new file mode 100644
index 0000000..533ce2d
--- /dev/null
+++ b/vcpkg/ports/opencv2/0007-fix-openexr.patch
@@ -0,0 +1,26 @@
+--- a/cmake/OpenCVFindLibsGrfmt.cmake
++++ b/cmake/OpenCVFindLibsGrfmt.cmake
+@@ -151,7 +151,12 @@ if(WITH_OPENEXR)
+ if(BUILD_OPENEXR)
+ ocv_clear_vars(OPENEXR_FOUND)
+ else()
+- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
++ find_package(Imath CONFIG REQUIRED)
++ find_package(OpenEXR CONFIG REQUIRED)
++ set(OPENEXR_LIBRARIES Imath::Imath OpenEXR::OpenEXR)
++ set(OPENEXR_INCLUDE_PATHS "")
++ set(OPENEXR_VERSION "${OpenEXR_VERSION}")
++ set(OPENEXR_FOUND 1)
+ endif()
+
+ if(NOT OPENEXR_FOUND)
+--- a/modules/highgui/src/grfmt_exr.cpp
++++ b/modules/highgui/src/grfmt_exr.cpp
+@@ -57,6 +57,7 @@
+ #include <ImfOutputFile.h>
+ #include <ImfChannelList.h>
+ #include <ImfStandardAttributes.h>
++#include <ImfFrameBuffer.h>
+ #include <half.h>
+ #include "grfmt_exr.hpp"
+
diff --git a/vcpkg/ports/opencv2/0008-missing-include.patch b/vcpkg/ports/opencv2/0008-missing-include.patch
new file mode 100644
index 0000000..d5390a1
--- /dev/null
+++ b/vcpkg/ports/opencv2/0008-missing-include.patch
@@ -0,0 +1,10 @@
+--- a/modules/ts/src/gpu_test.cpp
++++ b/modules/ts/src/gpu_test.cpp
+@@ -42,6 +42,7 @@
+
+ #include "opencv2/ts/gpu_test.hpp"
+ #include <stdexcept>
++#include <functional>
+
+ using namespace cv;
+ using namespace cv::gpu;
diff --git a/vcpkg/ports/opencv2/0009-pkgconfig-suffix.patch b/vcpkg/ports/opencv2/0009-pkgconfig-suffix.patch
new file mode 100644
index 0000000..3f0e45c
--- /dev/null
+++ b/vcpkg/ports/opencv2/0009-pkgconfig-suffix.patch
@@ -0,0 +1,15 @@
+--- a/cmake/OpenCVGenPkgconfig.cmake
++++ b/cmake/OpenCVGenPkgconfig.cmake
+@@ -54,6 +54,12 @@ foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+ set(libname "${CVLib}")
+ endif()
+
++ string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type)
++ get_target_property(libsuffix ${CVLib} ${build_type}_POSTFIX)
++ if(libsuffix)
++ string(APPEND libname "${libsuffix}")
++ endif()
++
+ set(libpath "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
+ list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libpath}")
+ list(APPEND OpenCV_LIB_COMPONENTS_ "-l${libname}")
diff --git a/vcpkg/ports/opencv2/0010-fix-cmake4.patch b/vcpkg/ports/opencv2/0010-fix-cmake4.patch
new file mode 100644
index 0000000..cbe3a9a
--- /dev/null
+++ b/vcpkg/ports/opencv2/0010-fix-cmake4.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 940a018373..0e84287be9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,11 +48,6 @@ if(POLICY CMP0026)
+ cmake_policy(SET CMP0026 NEW)
+ endif()
+
+-if (POLICY CMP0042)
+- # silence cmake 3.0+ warnings about MACOSX_RPATH
+- cmake_policy(SET CMP0042 OLD)
+-endif()
+-
+ # must go before the project command
+ set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
+ if(DEFINED CMAKE_BUILD_TYPE AND CMAKE_VERSION VERSION_GREATER "2.8")
+diff --git a/cmake/OpenCVDetectCXXCompiler.cmake b/cmake/OpenCVDetectCXXCompiler.cmake
+index 23d493dd13..090ad4e362 100644
+--- a/cmake/OpenCVDetectCXXCompiler.cmake
++++ b/cmake/OpenCVDetectCXXCompiler.cmake
+@@ -5,11 +5,11 @@ if(CMAKE_CL_64)
+ set(MSVC64 1)
+ endif()
+
+-if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC)
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ set(CMAKE_COMPILER_IS_CLANGCXX 1)
+ endif()
+-if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
++if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT MSVC)
+ set(CMAKE_COMPILER_IS_GNUCC 1)
+ set(CMAKE_COMPILER_IS_CLANGCC 1)
+ endif()
diff --git a/vcpkg/ports/opencv2/0011-msvc-compile-fix.patch b/vcpkg/ports/opencv2/0011-msvc-compile-fix.patch
new file mode 100644
index 0000000..e039356
--- /dev/null
+++ b/vcpkg/ports/opencv2/0011-msvc-compile-fix.patch
@@ -0,0 +1,12 @@
+diff --git a/modules/highgui/src/cap_msmf.hpp b/modules/highgui/src/cap_msmf.hpp
+index 9ce2a9c..b72c7f4 100644
+--- a/modules/highgui/src/cap_msmf.hpp
++++ b/modules/highgui/src/cap_msmf.hpp
+@@ -2312,6 +2312,7 @@ public:
+ }
+
+ protected:
++ using Node = typename List<T*>::Node;
+ HRESULT InsertAfter(Ptr item, Node *pBefore)
+ {
+ // Do not allow nullptr item pointers unless NULLABLE is true.
diff --git a/vcpkg/ports/opencv2/portfile.cmake b/vcpkg/ports/opencv2/portfile.cmake
new file mode 100644
index 0000000..7788f28
--- /dev/null
+++ b/vcpkg/ports/opencv2/portfile.cmake
@@ -0,0 +1,138 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO opencv/opencv
+ REF "${VERSION}"
+ SHA512 de7d24ac7ed78ac14673011cbecc477cae688b74222a972e553c95a557b5cb8e5913f97db525421d6a72af30998ca300112fa0b285daed65f65832eb2cf7241a
+ HEAD_REF master
+ PATCHES
+ 0001-install-options.patch
+ 0002-fix-paths-containing-symbols.patch
+ 0003-force-package-requirements.patch
+ 0004-enable-pkgconf.patch
+ 0005-fix-config.patch
+ 0006-fix-jasper.patch
+ 0007-fix-openexr.patch
+ 0008-missing-include.patch
+ 0009-pkgconfig-suffix.patch
+ 0010-fix-cmake4.patch
+ 0011-msvc-compile-fix.patch
+)
+
+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/openexr")
+file(REMOVE "${SOURCE_PATH}/cmake/FindCUDA.cmake")
+file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/FindCUDA")
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+FEATURES
+ "eigen" WITH_EIGEN
+ "jasper" WITH_JASPER
+ "jpeg" WITH_JPEG
+ "msmf" WITH_MSMF
+ "openexr" WITH_OPENEXR
+ "opengl" WITH_OPENGL
+ "png" WITH_PNG
+ "qt" WITH_QT
+ "tiff" WITH_TIFF
+ "world" BUILD_opencv_world
+ "dc1394" WITH_1394
+)
+
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LNK)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ###### ocv_options
+ -DCMAKE_DEBUG_POSTFIX=d
+ -DBUILD_WITH_STATIC_CRT=${STATIC_CRT_LNK}
+ -DINSTALL_TO_MANGLED_PATHS=OFF
+ # Do not build docs/examples
+ -DBUILD_DOCS=OFF
+ -DBUILD_EXAMPLES=OFF
+ ###### Disable build 3rd party libs
+ -DBUILD_JASPER=OFF
+ -DBUILD_JPEG=OFF
+ -DBUILD_OPENEXR=OFF
+ -DBUILD_PNG=OFF
+ -DBUILD_TIFF=OFF
+ -DBUILD_TBB=OFF
+ -DBUILD_ZLIB=OFF
+ ###### OpenCV Build components
+ -DBUILD_opencv_apps=OFF
+ -DBUILD_PACKAGE=OFF
+ -DBUILD_PERF_TESTS=OFF
+ -DBUILD_TESTS=OFF
+ -DBUILD_WITH_DEBUG_INFO=ON
+ # CMAKE
+ -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
+ ###### customized properties
+ ## Options from vcpkg_check_features()
+ ${FEATURE_OPTIONS}
+ -DWITH_1394=OFF
+ -DWITH_IPP=OFF
+ -DWITH_LAPACK=OFF
+ -DWITH_OPENCLAMDBLAS=OFF
+ -DWITH_OPENMP=OFF
+ -DWITH_PYTHON=OFF
+ -DWITH_FFMPEG=OFF
+ -DWITH_ZLIB=ON
+ -DWITH_CUBLAS=OFF
+ -DWITH_CUDA=OFF
+ -DWITH_GTK=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+vcpkg_copy_pdbs()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(READ "${CURRENT_PACKAGES_DIR}/share/opencv2/OpenCVModules.cmake" OPENCV_MODULES)
+
+ set(DEPS_STRING "include(CMakeFindDependencyMacro)
+find_dependency(Threads)")
+ if("tiff" IN_LIST FEATURES)
+ string(APPEND DEPS_STRING "\nfind_dependency(TIFF)")
+ endif()
+ if("openexr" IN_LIST FEATURES)
+ string(APPEND DEPS_STRING "\nfind_dependency(Imath CONFIG)\nfind_dependency(OpenEXR CONFIG)")
+ endif()
+ if("png" IN_LIST FEATURES)
+ string(APPEND DEPS_STRING "\nfind_dependency(PNG)")
+ endif()
+ if("qt" IN_LIST FEATURES)
+ string(APPEND DEPS_STRING "
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+find_dependency(Qt5 COMPONENTS Core Gui Widgets Test Concurrent)")
+ if("opengl" IN_LIST FEATURES)
+ string(APPEND DEPS_STRING "
+find_dependency(Qt5 COMPONENTS OpenGL)")
+ endif()
+ endif()
+
+ string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
+ "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}")
+
+ file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv2/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(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE")
+file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE")
+
+vcpkg_fixup_pkgconfig()
+
+configure_file("${CURRENT_PORT_DIR}/usage.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY)
+
+file(GLOB extra_license_files "${CURRENT_PACKAGES_DIR}/share/licenses/opencv2/*")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${extra_license_files})
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses")
diff --git a/vcpkg/ports/opencv2/usage.in b/vcpkg/ports/opencv2/usage.in
new file mode 100644
index 0000000..217ce72
--- /dev/null
+++ b/vcpkg/ports/opencv2/usage.in
@@ -0,0 +1,4 @@
+@PORT@ is compatible with built-in CMake variables. In case of multiple OpenCV version installed, set OpenCV_ROOT *before* the find_package call:
+
+ set(OpenCV_ROOT "${VCPKG_INSTALLED_DIR}/@TARGET_TRIPLET@/share/@PORT@")
+ find_package(OpenCV REQUIRED)
diff --git a/vcpkg/ports/opencv2/vcpkg.json b/vcpkg/ports/opencv2/vcpkg.json
new file mode 100644
index 0000000..f623358
--- /dev/null
+++ b/vcpkg/ports/opencv2/vcpkg.json
@@ -0,0 +1,100 @@
+{
+ "name": "opencv2",
+ "version": "2.4.13.7",
+ "port-version": 25,
+ "description": "Open Source Computer Vision Library",
+ "homepage": "https://github.com/opencv/opencv",
+ "license": "BSD-3-Clause",
+ "supports": "!uwp & !(arm & windows) & !android",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ],
+ "default-features": [
+ "eigen",
+ "jpeg",
+ {
+ "name": "msmf",
+ "platform": "windows & !mingw"
+ },
+ "png",
+ "tiff"
+ ],
+ "features": {
+ "dc1394": {
+ "description": "Dc1394 support for opencv",
+ "dependencies": [
+ "libdc1394"
+ ]
+ },
+ "eigen": {
+ "description": "Eigen support for opencv",
+ "dependencies": [
+ "eigen3"
+ ]
+ },
+ "jasper": {
+ "description": "JPEG 2000 support for opencv",
+ "dependencies": [
+ "jasper"
+ ]
+ },
+ "jpeg": {
+ "description": "JPEG support for opencv",
+ "dependencies": [
+ "libjpeg-turbo"
+ ]
+ },
+ "msmf": {
+ "description": "Microsoft Media Foundation support for opencv",
+ "supports": "windows & !mingw"
+ },
+ "openexr": {
+ "description": "OpenEXR support for opencv",
+ "dependencies": [
+ "imath",
+ "openexr"
+ ]
+ },
+ "opengl": {
+ "description": "opengl support for opencv",
+ "dependencies": [
+ "opengl"
+ ]
+ },
+ "png": {
+ "description": "PNG support for opencv",
+ "dependencies": [
+ "libpng"
+ ]
+ },
+ "qt": {
+ "description": "Qt GUI support for opencv",
+ "dependencies": [
+ {
+ "name": "qt5-base",
+ "default-features": false
+ }
+ ]
+ },
+ "tiff": {
+ "description": "TIFF support for opencv",
+ "dependencies": [
+ {
+ "name": "tiff",
+ "default-features": false
+ }
+ ]
+ },
+ "world": {
+ "description": "Compile to a single package support for opencv"
+ }
+ }
+}