facebookresearch / facebookresearch/ocean

dependency on third-party library libyuv seems unused in build

Open
#60 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.