Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[opencv4] Fix build failure when dnn feature is not enabled (#38594)
Given the following manifest (when `dnn` feature is not included): ```json "dependencies": [ { "name": "opencv4", "version>=": "4.8.0#18", "default-features": false, "features": [ "png" ] } ] ``` it failed and here is what `vcpkg/buildtrees/opencv4/config-x64-linux-out.log` said: ``` ... CMake Error at /home/peter/open-source/git/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package): Could not find a package configuration file provided by "flatbuffers" with any of the following names: flatbuffersConfig.cmake flatbuffers-config.cmake Add the installation prefix of "flatbuffers" to CMAKE_PREFIX_PATH or set "flatbuffers_DIR" to a directory containing one of the above files. If "flatbuffers" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:759 (find_package) ... ``` This problem is introduced by [commit 6d2c971](6d2c971) contributed by @jimwang118 In the patch `vcpkg/ports/opencv4/0023-fix-no-flatbuffers.patch`, Jim disabled the procedure of `Flatbuffers` detection introduced by the previous patch `0017-fix-flatbuffers.patch`, which has correctly fixed the `flatbuffers`-related issues. ```patch ... --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -756,7 +756,7 @@ include(cmake/OpenCVFindLibsVideo.cmake) include(cmake/OpenCVFindLibsPerf.cmake) include(cmake/OpenCVFindLAPACK.cmake) include(cmake/OpenCVFindProtobuf.cmake) -include(cmake/OpenCVDetectFlatbuffers.cmake) +find_package(flatbuffers CONFIG REQUIRED) ... ``` In `vcpkg/ports/opencv4/vcpkg.json` we can see, `flatbuffers` is only the dependency of feature `dnn`: ```json "dependencies": [ ... "dnn": { "description": "Enable dnn module", "dependencies": [ "flatbuffers", { "name": "flatbuffers", "host": true, "default-features": false }, "protobuf" ] }, ... ``` and when `dnn` is not enabled, it broke down at the line `find_package(flatbuffers CONFIG REQUIRED)` And this change is unnecessary either: ```patch - list(APPEND libs ocv.3rdparty.flatbuffers) + list(APPEND libs flatbuffers::flatbuffers) ``` Thus, we'd better to revert those changes. Co-authored-by: WentsingNee <8090395+wentsingnee@user.noreply.gitee.com>
- Loading branch information