diff options
| author | Victor Romero <romerosanchezv@gmail.com> | 2019-08-13 20:13:55 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-13 20:13:55 -0700 |
| commit | a3a6530631df905eb5c0e26d0b20d7d548e0c465 (patch) | |
| tree | 9750c490522529844a3e5104d25fd65abc1e1182 /ports/opencv4 | |
| parent | e6a21e1b421e8231f3eb46d8af574a990b5da8c8 (diff) | |
| download | vcpkg-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/CONTROL | 2 | ||||
| -rw-r--r-- | ports/opencv4/portfile.cmake | 59 |
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 |
