facebookresearch / facebookresearch/ocean
dependency on third-party library libyuv seems unused in build
- Dominant language
- C++
- Stars
- 790
- Forks
- 94
- PR merge metrics
- No merged PRs in 30d
Description
There are tests that depend on libyuv and CMake configuration exist for those tests, but they don't seem to get built currently. So libyuv gets built when third-party dependency build script runs but does not get used while building Ocean.
For example, [testcv library build configuration](https://github.com/facebookresearch/ocean/blob/main/impl/ocean/test/testcv/CMakeLists.txt) does not have a "add_subdirectory" directive for the subdirectory "testlibyuv".
Removing references to libyuv from "build/cmake/third-party/" directory then performing clean rebuild resulted in successful build on my Mac.
Not sure if there are Gradle, Visual Studio, or Xcode projects that depend on libyuv, but I haven't run into one yet.
A related issue is that searching for ["OCEAN_TEST_CV_LIBYUV_HAS_EXTRAS"](https://github.com/search?q=repo%3Afacebookresearch%2Focean+OCEAN_TEST_CV_LIBYUV_HAS_EXTRAS&type=code) shows that the preprocessor macro is specified in CMake configuration for "testsynthesis", "testopencv", and "testsegmentation". But, the only source code that use "OCEAN_TEST_CV_LIBYUV_HAS_EXTRAS" is in "testlibyuv".
Contributor guide
Research direction
Start in build/cmake/third-party/ and impl/ocean/test/testcv/CMakeLists.txt, then search for OCEAN_TEST_CV_LIBYUV_HAS_EXTRAS and testlibyuv references. Check whether Gradle, Visual Studio, or Xcode projects also reference libyuv, and perform a clean Mac rebuild to confirm the dependency is no longer required. Done means unused libyuv configuration and macro references are consistently removed or the excluded test dependency is correctly accounted for.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, computer-vision
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100