Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review included headers and dependencies #87

Closed
PeterBowman opened this issue Jun 17, 2018 · 3 comments
Closed

Review included headers and dependencies #87

PeterBowman opened this issue Jun 17, 2018 · 3 comments

Comments

@PeterBowman
Copy link
Member

As a follow-up to #82 (and keeping roboticslab-uc3m/developer-manual#19 in mind), I'd like to review all included headers. Ideally, this would lead to an improved granularity concerning required dependencies and dependency modules, especially the OpenCV's ones (see also roboticslab-uc3m/questions-and-answers#54). As a result, find_package() calls and the installation guide should reflect the minimum supported versions for all dependencies.

@PeterBowman
Copy link
Member Author

Note: check if #79 could be closed before this one (avoid duplicating efforts).

@PeterBowman
Copy link
Member Author

PeterBowman commented Aug 24, 2020

Commit 6db02e3 temporarily enables compliance with OpenCV 4.0+ with regard to still-in-use old C API structures and macros, which we'll need to eventually migrate at some point. Thus, our code is expected to compile with OpenCV 2.x (untested), 3.x (full CI coverage) and 4.x (apparently fine on my local machine).

Edit: see follow-up at be8bfac (tested on TEO's head PC, which has OpenCV 2.4.9).

@PeterBowman PeterBowman self-assigned this Apr 30, 2021
PeterBowman added a commit that referenced this issue Apr 30, 2021
@PeterBowman
Copy link
Member Author

PeterBowman commented Apr 30, 2021

Done at 1005c75. Notes:

  • I'm removing pointAtObjectServer from main compilation, but the code is still there. See The future of voxelOccupancyDetection and pointAtObjectServer apps #106 for a related discussion.
  • Not specifying individual OpenCV components to find_package(). In contrast to YARP, which skips system lookup on unselected modules, OpenCV seems to use this feature only for populating the OpenCV_LIBS CMake variable. It's useless since we also request YARP_cv prior to that, which performs a plain find_package(OpenCV) under the hood. In any case, now I'm referring to specific OpenCV targets in our target_link_libraries() calls, which is much clearer, as opposed to using ${OpenCV_LIBS}.
  • For now I am making an exception at PCL because of the way it is packaged on different Ubuntu releases (using CMake targets on focal, but not on bionic), so here we might prefer find_package(PCL ... COMPONENTS ...). Besides, YARP_pcl only requests pcl_common and pcl_io (YARP 3.4), and in this case asking for all PCL modules would cause more log lines to be printed on CMake configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants