mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-22 18:47:09 +01:00
[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
This commit is contained in:
parent
e9047ef771
commit
3532a7cf3c
@ -1,3 +1,3 @@
|
||||
Source: cuda
|
||||
Version: 9.0
|
||||
Version: 10.1
|
||||
Description: A parallel computing platform and programming model
|
@ -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,11 +35,11 @@ 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()
|
||||
|
||||
|
4
ports/cudnn/CONTROL
Normal file
4
ports/cudnn/CONTROL
Normal file
@ -0,0 +1,4 @@
|
||||
Source: cudnn
|
||||
Version: 7.6
|
||||
Description: NVIDIA's cuDNN deep neural network acceleration library
|
||||
Build-Depends: cuda
|
90
ports/cudnn/FindCUDNN.cmake
Normal file
90
ports/cudnn/FindCUDNN.cmake
Normal file
@ -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()
|
62
ports/cudnn/portfile.cmake
Normal file
62
ports/cudnn/portfile.cmake
Normal file
@ -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})
|
8
ports/cudnn/vcpkg-cmake-wrapper.cmake
Normal file
8
ports/cudnn/vcpkg-cmake-wrapper.cmake
Normal file
@ -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})
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
9
ports/opencv4/0004-fix-policy-CMP0057.patch
Normal file
9
ports/opencv4/0004-fix-policy-CMP0057.patch
Normal file
@ -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")
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user