mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-22 18:47:09 +01:00
[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()
This commit is contained in:
parent
cf447c050c
commit
d85a40d478
@ -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}\"")
|
@ -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()
|
||||
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)
|
||||
|
||||
# --- Python Support ---
|
||||
-if(NOT IOS)
|
||||
+if(0)
|
||||
include(cmake/OpenCVDetectPython.cmake)
|
||||
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}")
|
||||
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(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)
|
||||
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)
|
||||
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()
|
||||
|
@ -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)
|
@ -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()
|
@ -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()
|
@ -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
|
@ -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: dnn
|
||||
Description: Enable dnn module
|
||||
|
||||
Feature: eigen
|
||||
Build-Depends: eigen3
|
||||
Description: Eigen 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: qt
|
||||
Build-Depends: qt5
|
||||
Description: Qt GUI support for opencv
|
||||
|
||||
Feature: vtk
|
||||
Build-Depends: vtk
|
||||
Description: vtk support for opencv
|
||||
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: openexr
|
||||
Build-Depends: openexr
|
||||
Description: OpenEXR support for opencv
|
||||
|
||||
Feature: tiff
|
||||
Build-Depends: tiff
|
||||
Description: TIFF support for opencv
|
||||
|
||||
Feature: png
|
||||
Build-Depends: libpng
|
||||
Description: PNG support for opencv
|
||||
|
||||
Feature: jpeg
|
||||
Build-Depends: libjpeg-turbo
|
||||
Description: JPEG support for opencv
|
||||
Feature: ipp
|
||||
Description: Enable Intel Integrated Performance Primitives
|
||||
|
||||
Feature: jasper
|
||||
Build-Depends: jasper
|
||||
Description: JPEG 2000 support for opencv
|
||||
|
||||
Feature: eigen
|
||||
Build-Depends: eigen3
|
||||
Description: Eigen 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: 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: qt
|
||||
Build-Depends: qt5
|
||||
Description: Qt GUI support for opencv
|
||||
|
||||
Feature: sfm
|
||||
Build-Depends: opencv3[contrib], opencv3[flann], eigen3, glog, gflags, ceres
|
||||
Description: opencv_sfm module
|
||||
|
||||
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
|
||||
|
@ -4,49 +4,51 @@ 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)
|
||||
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
|
||||
)
|
||||
endif()
|
||||
|
||||
set(BUILD_opencv_flann OFF)
|
||||
if("flann" IN_LIST FEATURES)
|
||||
set(BUILD_opencv_flann 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_ovis OFF)
|
||||
@ -54,15 +56,33 @@ if("ovis" IN_LIST FEATURES)
|
||||
set(BUILD_opencv_ovis ON)
|
||||
endif()
|
||||
|
||||
set(BUILD_opencv_sfm OFF)
|
||||
if("sfm" IN_LIST FEATURES)
|
||||
set(BUILD_opencv_sfm ON)
|
||||
set(WITH_TBB OFF)
|
||||
if("tbb" IN_LIST FEATURES)
|
||||
set(WITH_TBB ON)
|
||||
endif()
|
||||
|
||||
set(BUILD_opencv_contrib OFF)
|
||||
if("contrib" IN_LIST FEATURES)
|
||||
set(BUILD_opencv_contrib ON)
|
||||
set(WITH_VTK OFF)
|
||||
if("vtk" IN_LIST FEATURES)
|
||||
set(WITH_VTK ON)
|
||||
endif()
|
||||
|
||||
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()
|
||||
|
||||
if("contrib" IN_LIST FEATURES)
|
||||
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)
|
||||
|
@ -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})
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user