@@ -10,32 +10,24 @@ vcpkg_from_github(
1010 0001-disable-downloading.patch
1111 0002-install -options .patch
1212 0003-force-package-requirements.patch
13- 0004-fix-eigen.patch
14- 0005-fix-policy -CMP0057.patch
15- 0006-fix-uwp.patch
1613 0008-devendor-quirc.patch
1714 0009-fix-protobuf.patch
1815 0010-fix-uwp-tiff-imgcodecs.patch
19- 0011-remove-python2.patch
2016 0012-miss-openexr.patch
21- 0014-fix-cmake-in-list.patch
2217 0015-fix-freetype.patch
2318 0017-fix-flatbuffers.patch
2419 0019-opencl-kernel.patch
2520 0020-fix-narrow-filesystem.diff
2621 0021-fix-qt-gen-def.patch
2722 0022-android-use-vcpkg-cpu-features.patch
2823)
24+ # Disallow accidental build of vendored copies
25+ file (GLOB third_party "${SOURCE_PATH} /3rdparty" )
26+ file (REMOVE_RECURSE ${third_party} )
27+ file (REMOVE "${SOURCE_PATH} /cmake/FindCUDNN.cmake" )
2928
3029vcpkg_find_acquire_program(PKGCONFIG)
3130set (ENV{PKG_CONFIG} "${PKGCONFIG} " )
32- vcpkg_host_path_list(APPEND ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR} /lib/pkgconfig" )
33-
34- # Disallow accidental build of vendored copies
35- file (REMOVE_RECURSE "${SOURCE_PATH} /3rdparty/cpufeatures" )
36- file (REMOVE_RECURSE "${SOURCE_PATH} /3rdparty/openexr" )
37- file (REMOVE_RECURSE "${SOURCE_PATH} /3rdparty/flatbuffers" )
38- file (REMOVE "${SOURCE_PATH} /cmake/FindCUDNN.cmake" )
3931
4032if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" )
4133 set (TARGET_IS_AARCH64 1)
@@ -82,10 +74,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
8274 "dnn" BUILD_opencv_dnn
8375 "dnn" PROTOBUF_UPDATE_FILES
8476 "dnn" UPDATE_PROTO_FILES
77+ "dnn" WITH_FLATBUFFERS
8578 "dnn" WITH_PROTOBUF
8679 "dnn-cuda" OPENCV_DNN_CUDA
8780 "dshow" WITH_DSHOW
8881 "eigen" WITH_EIGEN
82+ "eigen" VCPKG_LOCK_FIND_PACKAGE_Eigen3
8983 "ffmpeg" WITH_FFMPEG
9084 "freetype" WITH_FREETYPE
9185 "gapi" BUILD_opencv_gapi
@@ -146,6 +140,9 @@ if("qt" IN_LIST FEATURES)
146140endif ()
147141
148142if ("python" IN_LIST FEATURES)
143+ if (EXISTS "${CURRENT_INSTALLED_DIR} /${PYTHON3_SITE} /cv2" )
144+ message (FATAL_ERROR "You cannot install opencv4[python] if opencv3[python] is already present." )
145+ endif ()
149146 x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES numpy OUT_PYTHON_VAR "PYTHON3" )
150147 set (ENV{PYTHON} "${PYTHON3} " )
151148 file (GLOB _py3_include_path "${CURRENT_INSTALLED_DIR} /include/python3*" )
@@ -160,9 +157,6 @@ if("python" IN_LIST FEATURES)
160157 "-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR} /debug/${PYTHON3_SITE} /cv2"
161158 "-DOPENCV_PYTHON_INSTALL_PATH=${CURRENT_PACKAGES_DIR} /debug/${PYTHON3_SITE} "
162159 )
163- if (EXISTS "${CURRENT_INSTALLED_DIR} /${PYTHON3_SITE} /cv2" )
164- message (FATAL_ERROR "You cannot install opencv4[python] if opencv3[python] is already present." )
165- endif ()
166160endif ()
167161
168162if ("dnn" IN_LIST FEATURES)
@@ -366,27 +360,30 @@ vcpkg_cmake_configure(
366360 -DARM=${TARGET_IS_ARM}
367361 ###### use c++17 to enable features that fail with c++11 (halide, protobuf, etc.)
368362 -DCMAKE_CXX_STANDARD=17
369- ###### ocv_options
363+ ###### ocv installation dir options
370364 -DINSTALL_TO_MANGLED_PATHS=OFF
371365 -DOpenCV_INSTALL_BINARIES_PREFIX=
372366 -DOPENCV_BIN_INSTALL_PATH=bin
367+ -DOPENCV_CONFIG_INSTALL_PATH=share/opencv4
373368 -DOPENCV_INCLUDE_INSTALL_PATH=include /opencv4
374369 -DOPENCV_LIB_INSTALL_PATH=lib
375370 -DOPENCV_3P_LIB_INSTALL_PATH=lib/manual-link/opencv4_thirdparty
376- -DOPENCV_CONFIG_INSTALL_PATH=share/opencv4
377- -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
378- -DOPENCV_FFMPEG_SKIP_BUILD_CHECK=TRUE
371+ ###### ocv_options
372+ -DCV_TRACE=OFF
379373 -DCMAKE_DEBUG_POSTFIX =d
380- -DOPENCV_DLLVERSION=4
381374 -DOPENCV_DEBUG_POSTFIX =d
382- -DOPENCV_GENERATE_SETUPVARS=OFF
375+ -DOPENCV_DLLVERSION=4
376+ -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
377+ -DOPENCV_FFMPEG_SKIP_BUILD_CHECK=TRUE
378+ -DOPENCV_FORCE_EIGEN_FIND_PACKAGE_CONFIG=ON
383379 -DOPENCV_GENERATE_PKGCONFIG=ON
384- # Do not build docs/examples
380+ -DOPENCV_GENERATE_SETUPVARS=OFF
381+ -DOPENCV_PYTHON2_SKIP_DETECTION=ON
382+ # Do not build docs/examples/tests
385383 -DBUILD_DOCS=OFF
386384 -DBUILD_EXAMPLES=OFF
387385 -DBUILD_PERF_TESTS=OFF
388386 -DBUILD_TESTS=OFF
389- -Dade_DIR=${ADE_DIR}
390387 ###### Disable build 3rd party libs
391388 -DBUILD_IPP_IW=OFF
392389 -DBUILD_ITT=OFF
@@ -424,7 +421,7 @@ vcpkg_cmake_configure(
424421 -DOPENCV_OTHER_INSTALL_PATH=share/opencv4
425422 ###### customized properties
426423 ${FEATURE_OPTIONS}
427- -DWITH_QT =${WITH_QT }
424+ -Dade_DIR =${ADE_DIR }
428425 -DWITH_AVIF=OFF
429426 -DWITH_CPUFEATURES=${WITH_CPUFEATURES}
430427 -DWITH_ITT=OFF
@@ -435,20 +432,23 @@ vcpkg_cmake_configure(
435432 -DWITH_NVCUVENC=OFF
436433 -DWITH_OBSENSOR=OFF
437434 -DWITH_OPENCL_D3D11_NV=OFF
438- -DWITH_OPENCLAMDFFT=OFF
439435 -DWITH_OPENCLAMDBLAS=OFF
436+ -DWITH_OPENCLAMDFFT=OFF
437+ -DWITH_QT=${WITH_QT}
440438 -DWITH_SPNG=OFF #spng is mutually exclusive with png, which has been chosen since it's more widely used
441439 -DWITH_VA=OFF
442440 -DWITH_VA_INTEL=OFF
443441 -DWITH_ZLIB_NG=OFF
444- -DCV_TRACE=OFF
445442 ###### Additional build flags
446443 ${ADDITIONAL_BUILD_FLAGS}
447444 OPTIONS_RELEASE
448445 ${PYTHON_EXTRA_DEFINES_RELEASE}
449446 OPTIONS_DEBUG
450447 ${PYTHON_EXTRA_DEFINES_DEBUG}
451448 MAYBE_UNUSED_VARIABLES
449+ OPENCV_FORCE_EIGEN_FIND_PACKAGE_CONFIG
450+ OPENCV_PYTHON2_SKIP_DETECTION
451+ VCPKG_LOCK_FIND_PACKAGE_Eigen3
452452 VCPKG_LOCK_FIND_PACKAGE_Iconv
453453)
454454
@@ -491,6 +491,9 @@ endif()")
491491if ("ade" IN_LIST FEATURES)
492492 string (APPEND DEPS_STRING "\n find_dependency(ade)" )
493493endif ()
494+ if ("dnn" IN_LIST FEATURES)
495+ string (APPEND DEPS_STRING "\n find_dependency(flatbuffers CONFIG)" )
496+ endif ()
494497if ("eigen" IN_LIST FEATURES)
495498 string (APPEND DEPS_STRING "\n find_dependency(Eigen3 CONFIG)" )
496499endif ()
0 commit comments