aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-09-24 21:58:38 +0200
committerPhil Christensen <philc@microsoft.com>2019-09-24 12:58:38 -0700
commit3532a7cf3cb81ad4c56775a2b02039ee77a96eb2 (patch)
tree4b75fb74ca896434453d3bcd2f8420254ba1d15c
parente9047ef77133cde979dc9594d089e0109702675e (diff)
downloadvcpkg-3532a7cf3cb81ad4c56775a2b02039ee77a96eb2.tar.gz
vcpkg-3532a7cf3cb81ad4c56775a2b02039ee77a96eb2.zip
[cudnn] add port and enable it in darknet (#7536)
* [cudnn] add port and enable it in darknet * [OpenCV4] fix ffmpeg feature on uwp * [darknet] enable integration with cuda/cudnn also with opencv3 * [darknet] update to latest revision
-rw-r--r--ports/cuda/CONTROL4
-rw-r--r--ports/cuda/portfile.cmake23
-rw-r--r--ports/cudnn/CONTROL4
-rw-r--r--ports/cudnn/FindCUDNN.cmake90
-rw-r--r--ports/cudnn/portfile.cmake62
-rw-r--r--ports/cudnn/vcpkg-cmake-wrapper.cmake8
-rw-r--r--ports/darknet/CONTROL33
-rw-r--r--ports/darknet/portfile.cmake75
-rw-r--r--ports/opencv3/0009-fix-uwp.patch13
-rw-r--r--ports/opencv3/CONTROL6
-rw-r--r--ports/opencv3/portfile.cmake109
-rw-r--r--ports/opencv4/0004-fix-policy-CMP0057.patch9
-rw-r--r--ports/opencv4/CONTROL2
-rw-r--r--ports/opencv4/portfile.cmake43
14 files changed, 373 insertions, 108 deletions
diff --git a/ports/cuda/CONTROL b/ports/cuda/CONTROL
index 271869e8b..ba5208c2f 100644
--- a/ports/cuda/CONTROL
+++ b/ports/cuda/CONTROL
@@ -1,3 +1,3 @@
Source: cuda
-Version: 9.0
-Description: A parallel computing platform and programming model \ No newline at end of file
+Version: 10.1
+Description: A parallel computing platform and programming model
diff --git a/ports/cuda/portfile.cmake b/ports/cuda/portfile.cmake
index 7cc1773db..63e3f9cee 100644
--- a/ports/cuda/portfile.cmake
+++ b/ports/cuda/portfile.cmake
@@ -1,4 +1,4 @@
-# Due to the complexity involved, this package doesn't install CUDA. It instead verifies that CUDA is installed.
+# This package doesn't install CUDA. It instead verifies that CUDA is installed.
# Other packages can depend on this package to declare a dependency on CUDA.
# If this package is installed, we assume that CUDA is properly installed.
@@ -9,8 +9,7 @@ find_program(NVCC
ENV CUDA_BIN_PATH
PATH_SUFFIXES bin bin64
DOC "Toolkit location."
- NO_DEFAULT_PATH
- )
+ NO_DEFAULT_PATH)
set(error_code 1)
if (NVCC)
@@ -20,12 +19,12 @@ if (NVCC)
RESULT_VARIABLE error_code)
endif()
-set(CUDA_REQUIRED_VERSION "V9.0.0")
+#note: this port must be kept in sync with CUDNN port: every time one is upgraded, the other must be too
+set(CUDA_REQUIRED_VERSION "V10.1.0")
if (error_code)
- message(FATAL_ERROR "Could not find CUDA. Before continuing, please download and install CUDA (${CUDA_REQUIRED_VERSION} or higher) from:"
- "\n https://developer.nvidia.com/cuda-downloads\n"
- "\nAlso ensure vcpkg has been rebuilt with the latest version (v0.0.104 or later)")
+ message(FATAL_ERROR "Could not find CUDA. Before continuing, please download and install CUDA (${CUDA_REQUIRED_VERSION} or higher) from:"
+ "\n https://developer.nvidia.com/cuda-downloads\n")
endif()
# Sample output:
@@ -36,12 +35,12 @@ endif()
string(REGEX MATCH "V([0-9]+)\\.([0-9]+)\\.([0-9]+)" CUDA_VERSION ${NVCC_OUTPUT})
message(STATUS "Found CUDA ${CUDA_VERSION}")
set(CUDA_VERSION_MAJOR ${CMAKE_MATCH_1})
-#set(CUDA_VERSION_MINOR ${CMAKE_MATCH_2})
-#set(CUDA_VERSION_PATCH ${CMAKE_MATCH_3})
+set(CUDA_VERSION_MINOR ${CMAKE_MATCH_2})
+set(CUDA_VERSION_PATCH ${CMAKE_MATCH_3})
-if (CUDA_VERSION_MAJOR LESS 9)
- message(FATAL_ERROR "CUDA ${CUDA_VERSION} but ${CUDA_REQUIRED_VERSION} is required. Please download and install a more recent version of CUDA from:"
+if (CUDA_VERSION_MAJOR LESS 10 AND CUDA_VERSION_MINOR LESS 1)
+ message(FATAL_ERROR "CUDA ${CUDA_VERSION} found, but ${CUDA_REQUIRED_VERSION} is required. Please download and install a more recent version of CUDA from:"
"\n https://developer.nvidia.com/cuda-downloads\n")
endif()
-SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file
+SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/cudnn/CONTROL b/ports/cudnn/CONTROL
new file mode 100644
index 000000000..cc8019b5b
--- /dev/null
+++ b/ports/cudnn/CONTROL
@@ -0,0 +1,4 @@
+Source: cudnn
+Version: 7.6
+Description: NVIDIA's cuDNN deep neural network acceleration library
+Build-Depends: cuda
diff --git a/ports/cudnn/FindCUDNN.cmake b/ports/cudnn/FindCUDNN.cmake
new file mode 100644
index 000000000..1b6916577
--- /dev/null
+++ b/ports/cudnn/FindCUDNN.cmake
@@ -0,0 +1,90 @@
+# Distributed under the OSI-approved BSD 3-Clause License.
+
+#.rst:
+# FindCUDNN
+# --------
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module will set the following variables in your project::
+#
+# ``CUDNN_FOUND``
+# True if CUDNN found on the local system
+#
+# ``CUDNN_INCLUDE_DIRS``
+# Location of CUDNN header files.
+#
+# ``CUDNN_LIBRARIES``
+# The CUDNN libraries.
+#
+# ``CuDNN::CuDNN``
+# The CUDNN target
+#
+
+include(FindPackageHandleStandardArgs)
+
+if(NOT CUDNN_INCLUDE_DIR)
+ find_path(CUDNN_INCLUDE_DIR cudnn.h
+ HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN}
+ PATH_SUFFIXES cuda/include include)
+endif()
+
+if(NOT CUDNN_LIBRARY)
+ find_library(CUDNN_LIBRARY cudnn
+ HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN}
+ PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64)
+endif()
+
+if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h")
+ file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS)
+ string(REGEX MATCH "define CUDNN_MAJOR * +([0-9]+)"
+ CUDNN_VERSION_MAJOR "${CUDNN_HEADER_CONTENTS}")
+ string(REGEX REPLACE "define CUDNN_MAJOR * +([0-9]+)" "\\1"
+ CUDNN_VERSION_MAJOR "${CUDNN_VERSION_MAJOR}")
+ string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)"
+ CUDNN_VERSION_MINOR "${CUDNN_HEADER_CONTENTS}")
+ string(REGEX REPLACE "define CUDNN_MINOR * +([0-9]+)" "\\1"
+ CUDNN_VERSION_MINOR "${CUDNN_VERSION_MINOR}")
+ string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)"
+ CUDNN_VERSION_PATCH "${CUDNN_HEADER_CONTENTS}")
+ string(REGEX REPLACE "define CUDNN_PATCHLEVEL * +([0-9]+)" "\\1"
+ CUDNN_VERSION_PATCH "${CUDNN_VERSION_PATCH}")
+ if(NOT CUDNN_VERSION_MAJOR)
+ set(CUDNN_VERSION "?")
+ else()
+ set(CUDNN_VERSION "${CUDNN_VERSION_MAJOR}.${CUDNN_VERSION_MINOR}.${CUDNN_VERSION_PATCH}")
+ endif()
+endif()
+
+set(CUDNN_INCLUDE_DIRS ${CUDNN_INCLUDE_DIR})
+set(CUDNN_LIBRARIES ${CUDNN_LIBRARY})
+mark_as_advanced(CUDNN_LIBRARY CUDNN_INCLUDE_DIR)
+
+find_package_handle_standard_args(CUDNN
+ REQUIRED_VARS CUDNN_INCLUDE_DIR CUDNN_LIBRARY
+ VERSION_VAR CUDNN_VERSION
+)
+
+if(WIN32)
+ set(CUDNN_DLL_DIR ${CUDNN_INCLUDE_DIR})
+ list(TRANSFORM CUDNN_DLL_DIR APPEND "/../bin")
+ find_file(CUDNN_LIBRARY_DLL NAMES cudnn64_${CUDNN_VERSION_MAJOR}.dll PATHS ${CUDNN_DLL_DIR})
+endif()
+
+if( CUDNN_FOUND AND NOT TARGET CuDNN::CuDNN )
+ if( EXISTS "${CUDNN_LIBRARY_DLL}" )
+ add_library( CuDNN::CuDNN SHARED IMPORTED )
+ set_target_properties( CuDNN::CuDNN PROPERTIES
+ IMPORTED_LOCATION "${CUDNN_LIBRARY_DLL}"
+ IMPORTED_IMPLIB "${CUDNN_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES "${CUDNN_INCLUDE_DIR}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ else()
+ add_library( CuDNN::CuDNN UNKNOWN IMPORTED )
+ set_target_properties( CuDNN::CuDNN PROPERTIES
+ IMPORTED_LOCATION "${CUDNN_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES "${CUDNN_INCLUDE_DIR}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C" )
+ endif()
+endif()
diff --git a/ports/cudnn/portfile.cmake b/ports/cudnn/portfile.cmake
new file mode 100644
index 000000000..77154399c
--- /dev/null
+++ b/ports/cudnn/portfile.cmake
@@ -0,0 +1,62 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX)
+ message(FATAL_ERROR "This port is only for Windows Desktop or Linux")
+endif()
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ message(FATAL_ERROR "This port is only for x64 architectures")
+endif()
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
+
+#note: this port must be kept in sync with CUDA port: every time one is upgraded, the other must be too
+set(CUDNN_VERSION "7.6.0")
+set(CUDNN_FULL_VERSION "${CUDNN_VERSION}-cuda10.1_0")
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/win-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2")
+ set(SHA512_CUDNN "c0218407e7bc2b3c1497f1709dedee345bc619603ec0efa094e392888c0d513d645a1241501f9b406f688defa811578f36b49f456eb533535ecd526702156eea")
+ set(CUDNN_OS "windows")
+elseif(VCPKG_TARGET_IS_LINUX)
+ set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/linux-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2")
+ set(SHA512_CUDNN "128ccdc0ec24a1133947d7a8eff6cd8edc224134fa5065a11a1a01a99dbaee7d799db1454e0a59e411cf6db244f8c2420c160488a5dd4830addc3578b2011e3d")
+ set(CUDNN_OS "linux")
+endif()
+
+vcpkg_download_distfile(ARCHIVE
+ URLS ${CUDNN_DOWNLOAD_LINK}
+ FILENAME "cudnn-${CUDNN_FULL_VERSION}-${CUDNN_OS}.tar.bz2"
+ SHA512 ${SHA512_CUDNN}
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+string(REPLACE "." ";" VERSION_LIST ${CUDNN_VERSION})
+list(GET VERSION_LIST 0 CUDNN_VERSION_MAJOR)
+list(GET VERSION_LIST 1 CUDNN_VERSION_MINOR)
+list(GET VERSION_LIST 2 CUDNN_VERSION_PATCH)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(INSTALL "${SOURCE_PATH}/Library/include/cudnn.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+ file(INSTALL "${SOURCE_PATH}/Library/lib/x64/cudnn.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL "${SOURCE_PATH}/Library/bin/cudnn64_${CUDNN_VERSION_MAJOR}.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL "${SOURCE_PATH}/Library/lib/x64/cudnn.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(INSTALL "${SOURCE_PATH}/Library/bin/cudnn64_${CUDNN_VERSION_MAJOR}.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+elseif(VCPKG_TARGET_IS_LINUX)
+ file(INSTALL "${SOURCE_PATH}/include/cudnn.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION_MAJOR}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION_MAJOR}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+endif()
+
+file(INSTALL "${SOURCE_PATH}/info/LICENSE.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindCUDNN.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/cudnn/vcpkg-cmake-wrapper.cmake b/ports/cudnn/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..bbda1d04d
--- /dev/null
+++ b/ports/cudnn/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,8 @@
+set(CUDNN_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+
+if(NOT CUDNN_LIBRARIES)
+ _find_package(${ARGS})
+endif()
+
+set(CMAKE_MODULE_PATH ${CUDNN_PREV_MODULE_PATH})
diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL
index 6979c310c..a09843902 100644
--- a/ports/darknet/CONTROL
+++ b/ports/darknet/CONTROL
@@ -1,23 +1,38 @@
Source: darknet
-Version: 0.2.5-6
+Version: 0.2.5.1
Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.
Build-Depends: pthreads (windows), stb
-Default-Features: weights
-
-Feature: opencv
-Build-Depends: opencv[ffmpeg]
-Description: Build darknet with support for OpenCV
Feature: cuda
Build-Depends: cuda
Description: Build darknet with support for CUDA
+Feature: cudnn
+Build-Depends: darknet[cuda]
+Description: Build darknet with support for CUDNN
+
+Feature: opencv-base
+Build-Depends: opencv[ffmpeg]
+Description: Build darknet with support for OpenCV
+
+Feature: opencv-cuda
+Build-Depends: opencv[ffmpeg], opencv[cuda]
+Description: Build darknet with support for a CUDA-enabled OpenCV
+
+Feature: opencv3-base
+Build-Depends: opencv3[ffmpeg]
+Description: Build darknet with support for OpenCV3
+
+Feature: opencv3-cuda
+Build-Depends: opencv3[ffmpeg], opencv3[cuda]
+Description: Build darknet with support for a CUDA-enabled OpenCV3
+
Feature: weights
Description: Download pre-built weights for test
Feature: weights-train
Description: Download pre-built weights for training
-Feature: opencv-cuda
-Build-Depends: darknet[opencv], darknet[cuda]
-Description: Build darknet with support for a CUDA-enabled OpenCV
+Feature: full
+Build-Depends: darknet[opencv-cuda], darknet[cudnn], darknet[weights], darknet[weights-train]
+Description: Build darknet fully-featured
diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake
index a18c97a91..6cd1c781e 100644
--- a/ports/darknet/portfile.cmake
+++ b/ports/darknet/portfile.cmake
@@ -11,15 +11,41 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AlexeyAB/darknet
- REF b2d795e34e1d734d0f451ce9847a0e6b68c32351
- SHA512 1964aa0d768d37fc614983718aede8b29e562fd8120116b7cd7a1331bb8a3256e28c01cdff6f19bbe7b9d6289b3292188205f362bae38393cee33d8a2e6a5273
+ REF 35346d2ef80dc46b9eb4fba57da1737a49f4743e
+ SHA512 a905a5e42c4ecfdf2b8276fc565b82e30c97e249c0530b403d149a8e6276bb3852a956869c21efbe092799f3743cf529a577fb03275cfcfcc8322b92e9de0ff6
HEAD_REF master
)
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- "cuda" ENABLE_CUDA
- "opencv" ENABLE_OPENCV
-)
+# enable CUDA inside DARKNET
+set(ENABLE_CUDA OFF)
+if("cuda" IN_LIST FEATURES)
+ set(ENABLE_CUDA ON)
+endif()
+
+set(ENABLE_OPENCV OFF)
+# enable OPENCV (basic version) inside DARKNET
+if("opencv-base" IN_LIST FEATURES)
+ set(ENABLE_OPENCV ON)
+endif()
+if("opencv3-base" IN_LIST FEATURES)
+ set(ENABLE_OPENCV ON)
+endif()
+
+# enable OPENCV (with its own CUDA feature enabled) inside DARKNET
+# (note: this does not mean that DARKNET itself will have CUDA support since by design it is independent, to have it you must require both opencv-cuda and cuda features!)
+# DARKNET will be automatically able to distinguish an OpenCV that is built with or without CUDA support.
+if("opencv-cuda" IN_LIST FEATURES)
+ set(ENABLE_OPENCV ON)
+endif()
+if("opencv3-cuda" IN_LIST FEATURES)
+ set(ENABLE_OPENCV ON)
+endif()
+
+# enable CUDNN inside DARKNET (which depends on the "cuda" feature by design)
+set(ENABLE_CUDNN OFF)
+if("cudnn" IN_LIST FEATURES)
+ set(ENABLE_CUDNN ON)
+endif()
if ("cuda" IN_LIST FEATURES)
if (NOT VCPKG_CMAKE_SYSTEM_NAME AND NOT ENV{CUDACXX})
@@ -67,15 +93,18 @@ endif()
#make sure we don't use any integrated pre-built library nor any unnecessary CMake module
file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty)
file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindPThreads_windows.cmake)
+file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- DISABLE_PARALLEL_CONFIGURE #since darknet configures a file inside source tree, it is better to disable parallel configure
+ DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
-DINSTALL_BIN_DIR:STRING=bin
-DINSTALL_LIB_DIR:STRING=lib
- ${FEATURE_OPTIONS}
+ -DENABLE_CUDA=${ENABLE_CUDA}
+ -DENABLE_CUDNN=${ENABLE_CUDNN}
+ -DENABLE_OPENCV=${ENABLE_OPENCV}
)
vcpkg_install_cmake()
@@ -91,15 +120,15 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/uselib${EXECUTABLE_SUFFIX})
if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin/uselib_track${EXECUTABLE_SUFFIX})
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/uselib_track${EXECUTABLE_SUFFIX})
endif()
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/darknet/)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/darknet${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/darknet${EXECUTABLE_SUFFIX})
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/uselib${EXECUTABLE_SUFFIX})
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/darknet${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/darknet${EXECUTABLE_SUFFIX})
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/uselib${EXECUTABLE_SUFFIX})
if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX})
- file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/uselib_track${EXECUTABLE_SUFFIX})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/uselib_track${EXECUTABLE_SUFFIX})
endif()
-file(COPY ${SOURCE_PATH}/cfg DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
-file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/darknet)
+file(COPY ${SOURCE_PATH}/cfg DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
@@ -107,21 +136,19 @@ endif()
vcpkg_fixup_cmake_targets()
-file(COPY ${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet)
-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
if("weights" IN_LIST FEATURES)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
endif()
if("weights-train" IN_LIST FEATURES)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet53.conv.74 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
- file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet19_448.conv.23 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet)
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet53.conv.74 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet19_448.conv.23 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
endif()
diff --git a/ports/opencv3/0009-fix-uwp.patch b/ports/opencv3/0009-fix-uwp.patch
index b57e49ea1..cba3963dc 100644
--- a/ports/opencv3/0009-fix-uwp.patch
+++ b/ports/opencv3/0009-fix-uwp.patch
@@ -11,6 +11,19 @@ index c2fda8f..3f7dfdc 100644
# 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/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp
+index f1107b0..c613ca2 100644
+--- a/modules/core/src/utils/datafile.cpp
++++ b/modules/core/src/utils/datafile.cpp
+@@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr)
+ CV_UNUSED(addr);
+ #ifdef _WIN32
+ HMODULE m = 0;
+-#if _WIN32_WINNT >= 0x0501
++#if (_WIN32_WINNT >= 0x0501) && (!WINRT_STORE)
+ ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
+ reinterpret_cast<LPCTSTR>(addr),
+ &m);
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
diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL
index 16776381d..10a02db66 100644
--- a/ports/opencv3/CONTROL
+++ b/ports/opencv3/CONTROL
@@ -12,7 +12,7 @@ Feature: flann
Description: opencv_flann module
Feature: contrib
-Build-Depends: hdf5 (!uwp)
+Build-Depends: opencv3[dnn], hdf5 (!uwp)
Description: opencv_contrib module
Feature: cuda
@@ -20,6 +20,7 @@ Build-Depends: opencv3[contrib], cuda
Description: CUDA support for opencv
Feature: dnn
+Build-Depends: opencv3[flann]
Description: Enable dnn module
Feature: eigen
@@ -53,7 +54,6 @@ Feature: opengl
Build-Depends: opengl
Description: opengl support for opencv
-
Feature: ovis
Build-Depends: opencv3[contrib], ogre
Description: opencv_ovis module
@@ -67,7 +67,7 @@ Build-Depends: qt5
Description: Qt GUI support for opencv
Feature: sfm
-Build-Depends: opencv3[contrib], opencv3[flann], eigen3, glog, gflags, ceres
+Build-Depends: opencv3[contrib], eigen3, glog, gflags, ceres
Description: opencv_sfm module
Feature: tbb
diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake
index 9f1e4788d..bd4f1c4bb 100644
--- a/ports/opencv3/portfile.cmake
+++ b/ports/opencv3/portfile.cmake
@@ -74,7 +74,18 @@ if("dnn" IN_LIST FEATURES)
)
endif()
+# Build image quality module when building with 'contrib' feature and not UWP.
+set(BUILD_opencv_quality OFF)
if("contrib" IN_LIST FEATURES)
+ if (VCPKG_TARGET_IS_UWP)
+ set(BUILD_opencv_quality OFF)
+ message(WARNING "The image quality module (quality) does not build for UWP, the module has been disabled.")
+ # The hdf module is silently disabled by OpenCVs buildsystem if HDF5 is not detected.
+ message(WARNING "The hierarchical data format module (hdf) depends on HDF5 which doesn't support UWP, the module has been disabled.")
+ else()
+ set(BUILD_opencv_quality CMAKE_DEPENDS_IN_PROJECT_ONLY)
+ endif()
+
vcpkg_from_github(
OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
REPO opencv/opencv_contrib
@@ -90,12 +101,6 @@ if("contrib" IN_LIST FEATURES)
SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93
)
- 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
- )
-
function(download_opencv_3rdparty ID COMMIT HASH)
if(NOT EXISTS "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp")
vcpkg_download_distfile(OCV_DOWNLOAD
@@ -184,11 +189,38 @@ if(WITH_IPP)
endif()
set(WITH_MSMF ON)
-if(VCPKG_TARGET_IS_UWP)
+if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
set(WITH_MSMF OFF)
endif()
-set(WITH_ZLIB ON)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ if (WITH_TBB)
+ message(WARNING "TBB is currently unsupported in this build configuration, turning it off")
+ set(WITH_TBB OFF)
+ endif()
+
+ if (WITH_VTK)
+ message(WARNING "VTK is currently unsupported in this build configuration, turning it off")
+ set(WITH_VTK OFF)
+ endif()
+
+ if (VCPKG_TARGET_IS_WINDOWS AND BUILD_opencv_ovis)
+ message(WARNING "OVIS is currently unsupported in this build configuration, turning it off")
+ set(BUILD_opencv_ovis OFF)
+ endif()
+endif()
+
+if("ffmpeg" IN_LIST FEATURES)
+ if(VCPKG_TARGET_IS_UWP)
+ set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}")
+ set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}")
+ endif()
+endif()
+
+if("qt" IN_LIST FEATURES)
+ list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON")
+endif()
+
set(BUILD_opencv_line_descriptor ON)
set(BUILD_opencv_saliency ON)
set(BUILD_opencv_bgsegm ON)
@@ -197,14 +229,11 @@ if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
set(BUILD_opencv_saliency OFF)
set(BUILD_opencv_bgsegm OFF)
endif()
-if (VCPKG_TARGET_IS_UWP)
- set(BUILD_opencv_quality OFF)
-endif()
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS ${FEATURE_OPTIONS}
+ OPTIONS
###### ocv_options
-DOpenCV_INSTALL_BINARIES_PREFIX=
-DOPENCV_LIB_INSTALL_PATH=lib
@@ -216,63 +245,57 @@ vcpkg_configure_cmake(
# Do not build docs/examples
-DBUILD_DOCS=OFF
-DBUILD_EXAMPLES=OFF
- # Do not build integrated libraries, use external ones whenever possible
+ ###### Disable build 3rd party libs
-DBUILD_JASPER=OFF
-DBUILD_JPEG=OFF
-DBUILD_OPENEXR=OFF
- -DBUILD_PACKAGE=OFF
- -DBUILD_PERF_TESTS=OFF
-DBUILD_PNG=OFF
- -DBUILD_PROTOBUF=OFF
- -DBUILD_TESTS=OFF
-DBUILD_TIFF=OFF
-DBUILD_WEBP=OFF
- -DBUILD_WITH_DEBUG_INFO=ON
- -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT}
-DBUILD_ZLIB=OFF
- # Select which OpenCV modules should be built
+ ###### Disable build 3rd party components
+ -DBUILD_PROTOBUF=OFF
+ ###### OpenCV Build components
-DBUILD_opencv_apps=OFF
-DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm}
-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}
- # PROTOBUF
+ -DBUILD_PACKAGE=OFF
+ -DBUILD_PERF_TESTS=OFF
+ -DBUILD_TESTS=OFF
+ -DBUILD_WITH_DEBUG_INFO=ON
+ -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT}
+ ###### PROTOBUF
-DPROTOBUF_UPDATE_FILES=ON
-DUPDATE_PROTO_FILES=ON
- -DWITH_PROTOBUF=ON
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
# ENABLE
-DENABLE_CXX11=ON
- -DENABLE_PYLINT=OFF
- -DOPENCV_ENABLE_NONFREE=${OPENCV_ENABLE_NONFREE}
- # INSTALL
- -DINSTALL_FORCE_UNIX_PATHS=ON
- -DINSTALL_LICENSE=OFF
- # OPENCV
- -DOPENCV_CONFIG_INSTALL_PATH=share/opencv
- -DOPENCV_OTHER_INSTALL_PATH=share/opencv
+ ###### OPENCV vars
"-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache"
${BUILD_WITH_CONTRIB_FLAG}
-DOPENCV_OTHER_INSTALL_PATH=share/opencv
- # WITH
- ${FEATURE_OPPTIONS}
+ ###### customized properties
+ ## Options from vcpkg_check_features()
+ ${FEATURE_OPTIONS}
+ -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
-DWITH_IPP=${WITH_IPP}
- -DWITH_LAPACK=OFF
-DWITH_MATLAB=OFF
-DWITH_MSMF=${WITH_MSMF}
+ -DWITH_PROTOBUF=ON
-DWITH_OPENCLAMDBLAS=OFF
-DWITH_TBB=${WITH_TBB}
-DWITH_VTK=${WITH_VTK}
- -DWITH_ZLIB=${WITH_ZLIB}
- -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
- -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
- OPTIONS_DEBUG
- -DINSTALL_HEADERS=OFF
- -DINSTALL_OTHER=OFF
+ ###### WITH PROPERTIES explicitly disabled, they have problems with libraries if already installed by user and that are "involuntarily" found during install
+ -DWITH_LAPACK=OFF
+ ###### BUILD_options (mainly modules which require additional libraries)
+ -DBUILD_opencv_ovis=${BUILD_opencv_ovis}
+ ###### The following modules are disabled for UWP
+ -DBUILD_opencv_quality=${BUILD_opencv_quality}
+ ###### Additional build flags
+ ${ADDITIONAL_BUILD_FLAGS}
)
vcpkg_install_cmake()
@@ -321,4 +344,4 @@ 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)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/opencv4/0004-fix-policy-CMP0057.patch b/ports/opencv4/0004-fix-policy-CMP0057.patch
new file mode 100644
index 000000000..ed25d501d
--- /dev/null
+++ b/ports/opencv4/0004-fix-policy-CMP0057.patch
@@ -0,0 +1,9 @@
+diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt
+index 1608655..a394f04 100644
+--- a/modules/videoio/CMakeLists.txt
++++ b/modules/videoio/CMakeLists.txt
+@@ -1,3 +1,4 @@
++cmake_minimum_required(VERSION 3.3)
+ set(VIDEOIO_PLUGIN_LIST "" CACHE STRING "List of videoio backends to be compiled as plugins (ffmpeg, gstreamer)")
+ set(VIDEOIO_ENABLE_PLUGINS "ON" CACHE BOOL "Allow building videoio plugin support")
+ set(VIDEOIO_ENABLE_STRICT_PLUGIN_CHECK "ON" CACHE BOOL "Make sure OpenCV version is the same in plugin and host code")
diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL
index 29a119e2f..991f26587 100644
--- a/ports/opencv4/CONTROL
+++ b/ports/opencv4/CONTROL
@@ -1,5 +1,5 @@
Source: opencv4
-Version: 4.1.1-1
+Version: 4.1.1-2
Build-Depends: protobuf, zlib
Homepage: https://github.com/opencv/opencv
Description: computer vision library
diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake
index 60ba8e5f5..bdb7f9932 100644
--- a/ports/opencv4/portfile.cmake
+++ b/ports/opencv4/portfile.cmake
@@ -16,6 +16,7 @@ vcpkg_from_github(
0001-disable-downloading.patch
0002-install-options.patch
0003-force-package-requirements.patch
+ 0004-fix-policy-CMP0057.patch
0009-fix-uwp.patch
)
@@ -69,6 +70,14 @@ 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("cuda" IN_LIST FEATURES)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/79c6cee80a2df9a196f20afd6b598a9810964c32.zip"
@@ -96,6 +105,8 @@ if("contrib" IN_LIST FEATURES)
SHA512 8af13f0a5f350360316662c1ce5e58c21d906a58591acfbd575a8dacde19b6f3bbd694c3c199feb35c33549cf8c37e3fb4c494b586a00ad29fe3b4aeeb2d22ab
HEAD_REF master
)
+ set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
+
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i"
FILENAME "opencv-cache/xfeatures2d/boostdesc/0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i"
@@ -156,15 +167,6 @@ if("contrib" IN_LIST FEATURES)
FILENAME "opencv-cache/data/7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat"
SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93
)
- set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
-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(WITH_IPP)
@@ -241,6 +243,17 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
endif()
+if("ffmpeg" IN_LIST FEATURES)
+ if(VCPKG_TARGET_IS_UWP)
+ set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}")
+ set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}")
+ endif()
+endif()
+
+if("qt" IN_LIST FEATURES)
+ list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON")
+endif()
+
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
@@ -252,8 +265,9 @@ vcpkg_configure_cmake(
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv
-DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
-DCMAKE_DEBUG_POSTFIX=d
- ###### Ungrouped Entries
- -DBUILD_opencv_java=OFF
+ # Do not build docs/examples
+ -DBUILD_DOCS=OFF
+ -DBUILD_EXAMPLES=OFF
-Dade_DIR=${ADE_DIR}
###### Disable build 3rd party libs
-DBUILD_JASPER=OFF
@@ -270,11 +284,10 @@ vcpkg_configure_cmake(
-DBUILD_PROTOBUF=OFF
###### OpenCV Build components
-DBUILD_opencv_apps=OFF
+ -DBUILD_opencv_java=OFF
-DBUILD_opencv_js=OFF
-DBUILD_ANDROID_PROJECT=OFF
-DBUILD_ANDROID_EXAMPLES=OFF
- -DBUILD_DOCS=OFF
- -DBUILD_EXAMPLES=OFF
-DBUILD_PACKAGE=OFF
-DBUILD_PERF_TESTS=OFF
-DBUILD_TESTS=OFF
@@ -312,6 +325,8 @@ vcpkg_configure_cmake(
-DBUILD_opencv_ovis=${BUILD_opencv_ovis}
###### The following modules are disabled for UWP
-DBUILD_opencv_quality=${BUILD_opencv_quality}
+ ###### Additional build flags
+ ${ADDITIONAL_BUILD_FLAGS}
)
vcpkg_install_cmake()
@@ -368,4 +383,4 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/setup_vars_opencv4.cmd)
file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv4 RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)