aboutsummaryrefslogtreecommitdiff
path: root/ports/opencv4
diff options
context:
space:
mode:
authorVictor Romero <romerosanchezv@gmail.com>2019-08-13 20:13:55 -0700
committerGitHub <noreply@github.com>2019-08-13 20:13:55 -0700
commita3a6530631df905eb5c0e26d0b20d7d548e0c465 (patch)
tree9750c490522529844a3e5104d25fd65abc1e1182 /ports/opencv4
parente6a21e1b421e8231f3eb46d8af574a990b5da8c8 (diff)
downloadvcpkg-a3a6530631df905eb5c0e26d0b20d7d548e0c465.tar.gz
vcpkg-a3a6530631df905eb5c0e26d0b20d7d548e0c465.zip
[vcpkg_check_features] Set output variable explicitly and allow reverse-logic check (#7558)
* [vcpkg_check_features] Set OUT_EXPAND_OPTIONS explicitly * [vcpkg_check_features] Allow reverse logic for features * [vcpkg_check_features] Document new parameters * [vcpkg_check_features] Remove unnecessary logging * Do not create variables for each feature only set OUT_FEATURE_OPTIONS * Improve documentation * Update ports that use vcpkg_check_features() * Missing documentation updates * [pcl] Fix tools feature * [opencv,opencv4] Fix usage of vcpkg_check_features() * [opencv4] Fix typo
Diffstat (limited to 'ports/opencv4')
-rw-r--r--ports/opencv4/CONTROL2
-rw-r--r--ports/opencv4/portfile.cmake59
2 files changed, 31 insertions, 30 deletions
diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL
index 29d6ec9ce..ca52577c7 100644
--- a/ports/opencv4/CONTROL
+++ b/ports/opencv4/CONTROL
@@ -1,5 +1,5 @@
Source: opencv4
-Version: 4.1.1
+Version: 4.1.1-1
Build-Depends: protobuf, zlib
Description: computer vision library
Default-Features: dnn, jpeg, opengl, png, tiff, webp
diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake
index a1faafc71..efafab614 100644
--- a/ports/opencv4/portfile.cmake
+++ b/ports/opencv4/portfile.cmake
@@ -27,34 +27,53 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
set(ADE_DIR ${CURRENT_INSTALLED_DIR}/share/ade CACHE PATH "Path to existing ADE CMake Config file")
-vcpkg_check_features(
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
"ade" WITH_ADE
"contrib" WITH_CONTRIB
"cuda" WITH_CUDA
+ "cuda" WITH_CUBLAS
"dnn" BUILD_opencv_dnn
"eigen" WITH_EIGEN
"ffmpeg" WITH_FFMPEG
"gdcm" WITH_GDCM
"halide" WITH_HALIDE
- "ipp" WITH_IPP
"jasper" WITH_JASPER
"jpeg" WITH_JPEG
"nonfree" OPENCV_ENABLE_NONFREE
"openexr" WITH_OPENEXR
"opengl" WITH_OPENGL
"openmp" WITH_OPENMP
- "ovis" BUILD_opencv_ovis
"png" WITH_PNG
"qt" WITH_QT
"sfm" BUILD_opencv_sfm
- "tbb" WITH_TBB
"tiff" WITH_TIFF
- "vtk" WITH_VTK
"webp" WITH_WEBP
"world" BUILD_opencv_world
)
-if(WITH_CUDA)
+# 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)
+if("ovis" IN_LIST FEATURES)
+ set(BUILD_opencv_ovis ON)
+endif()
+
+set(WITH_TBB OFF)
+if("tbb" IN_LIST FEATURES)
+ set(WITH_TBB ON)
+endif()
+
+set(WITH_VTK OFF)
+if("vtk" IN_LIST FEATURES)
+ set(WITH_VTK ON)
+endif()
+
+if("cuda" IN_LIST FEATURES)
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/79c6cee80a2df9a196f20afd6b598a9810964c32.zip"
FILENAME "opencv-cache/nvidia_optical_flow/ca5acedee6cb45d0ec610a6732de5c15-79c6cee80a2df9a196f20afd6b598a9810964c32.zip"
@@ -64,7 +83,7 @@ endif()
# Build image quality module when building with 'contrib' feature and not UWP.
set(BUILD_opencv_quality OFF)
-if(WITH_CONTRIB)
+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.")
@@ -144,7 +163,7 @@ if(WITH_CONTRIB)
set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
endif()
-if(BUILD_opencv_dnn)
+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"
@@ -238,7 +257,6 @@ vcpkg_configure_cmake(
-DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
-DCMAKE_DEBUG_POSTFIX=d
###### Ungrouped Entries
- -DOPENCV_ENABLE_NONFREE=${OPENCV_ENABLE_NONFREE}
-DBUILD_opencv_java=OFF
-Dade_DIR=${ADE_DIR}
###### Disable build 3rd party libs
@@ -285,34 +303,17 @@ vcpkg_configure_cmake(
${BUILD_WITH_CONTRIB_FLAG}
-DOPENCV_OTHER_INSTALL_PATH=share/opencv
###### customized properties
- -DWITH_ADE=${WITH_ADE}
- -DWITH_CUBLAS=${WITH_CUDA}
- -DWITH_CUDA=${WITH_CUDA}
- -DWITH_EIGEN=${WITH_EIGEN}
- -DWITH_FFMPEG=${WITH_FFMPEG}
- -DWITH_GDCM=${WITH_GDCM}
- -DWITH_HALIDE=${WITH_HALIDE}
+ ## Options from vcpkg_check_features()
+ ${FEATURE_OPTIONS}
-DWITH_IPP=${WITH_IPP}
- -DWITH_JASPER=${WITH_JASPER}
- -DWITH_JPEG=${WITH_JPEG}
-DWITH_MSMF=${WITH_MSMF}
- -DWITH_OPENEXR=${WITH_OPENEXR}
- -DWITH_OPENGL=${WITH_OPENGL}
- -DWITH_OPENMP=${WITH_OPENMP}
- -DWITH_PNG=${WITH_PNG}
-DWITH_PROTOBUF=ON
- -DWITH_QT=${WITH_QT}
-DWITH_TBB=${WITH_TBB}
- -DWITH_TIFF=${WITH_TIFF}
-DWITH_VTK=${WITH_VTK}
- -DWITH_WEBP=${WITH_WEBP}
###### 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}
- -DBUILD_opencv_sfm=${BUILD_opencv_sfm}
- -DBUILD_opencv_dnn=${BUILD_opencv_dnn}
- -DBUILD_opencv_world=${BUILD_opencv_world}
###### The following modules are disabled for UWP
-DBUILD_opencv_quality=${BUILD_opencv_quality}
)
@@ -356,7 +357,7 @@ find_package(VTK QUIET)
find_package(OpenMP QUIET)
find_package(GDCM QUIET)" OPENCV_MODULES "${OPENCV_MODULES}")
- if(WITH_OPENMP)
+ if("openmp" IN_LIST FEATURES)
string(REPLACE "set_target_properties(opencv_core PROPERTIES
INTERFACE_LINK_LIBRARIES \""
"set_target_properties(opencv_core PROPERTIES