Reenable filesystem for ios builds#20128
Reenable filesystem for ios builds#20128opencv-pushbot merged 1 commit intoopencv:3.4from kikaxa:master
Conversation
| # if (defined(TARGET_OS_OSX) && TARGET_OS_OSX) || (!defined(TARGET_OS_OSX) && !TARGET_OS_IPHONE) | ||
| # define OPENCV_HAVE_FILESYSTEM_SUPPORT 1 // OSX only | ||
| # if (defined(TARGET_OS_OSX) && TARGET_OS_OSX) || (defined(TARGET_OS_IOS) && TARGET_OS_IOS) | ||
| # define OPENCV_HAVE_FILESYSTEM_SUPPORT 1 // OSX, iOS only |
There was a problem hiding this comment.
This condition is from 3.4 branch: https://github.com/opencv/opencv/blame/3.4/modules/core/include/opencv2/core/utils/filesystem.private.hpp#L19
relates #10018 (before any of 4.x releases)
Which functionality do you want to use on iOS?
There was a problem hiding this comment.
We found ::fs:: , and (strangely) some parts of videoio not working.
Opencv builds and works fine in our (limited) test cases for ios, macos when OPENCV_HAVE_FILESYSTEM_SUPPORT=1.
There was a problem hiding this comment.
::fs::
This API should be considered as internal.
There is no goal to support FS utilities through Computer Vision Library.
Some of these utilities are available through C++17 filesystem features, consider using them instead: https://en.cppreference.com/w/cpp/filesystem
some parts of videoio not working
Do you mean a problem similar to #19910?
There was a problem hiding this comment.
::fs::This API should be considered as internal.
I agree. I have checked and we do not use ::fs on ios.
As a note, the whole namespace is listed and documented in the documentation, without any mentions of being internal.
We use cv::glob() (core/utils.hpp included by default with the core module) extensively, i have checked the PR and it modifies this function as well
videoio
No, we had an explicit assert/error mentioning the filesystem being disabled. The only place i found skimming through the module is loadPlugin()/getPluginCandidates()
We call cv::VideoCapture/open()
|
Rebased on 3.4 branch
this note is removed as incorrect |
As per comment #20010 (comment)
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.