-
-
Notifications
You must be signed in to change notification settings - Fork 55.7k
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
Add package for cmake project #16322
Conversation
Signed-off-by: ruffsl <roxfoxpox@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some guide/link how to use that would be extremely useful.
Platform-specific files should be placed under the "platforms" directory: https://github.com/opencv/opencv/tree/master/platforms
- here is Maven stuff
- here is JavaScript stuff
- and this one should go there too (probably with CMakeLists.txt wrapper)
|
||
<buildtool_depend>cmake</buildtool_depend> | ||
|
||
<build_depend>eigen</build_depend> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this list really complete?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As @mikaelarguedas #16322 (comment) pointed out, we could specify more of the optional dependencies, I just wasn't sure to what extent we'd like to include them explicitly as required, though the one linked seems like a more practical useful build for general users.
@ruffsl friendly reminder |
@ruffsl If it's useful, we used the following |
Sorry, here is some more context as per the motivation and rationale for include a package manifest for summarizing the package depencies, licensing, etc: Package Manifest Format Three Specification:
This package manifest is os or platform agnostic, we use them in ROS for cmake packages built on windows, linux, macos.. and is necessarily located in the same directory as the root |
I believe, dedicated place/repository for package manager configuration is preferable, than pushing these configurations into upstream reporsitory. Mixing upstream source code with packaging details of specific package manager doesn't look as a good idea. All package managers and/or their build configurations have own specific stuff. Refer to multi-platform homebrew, vcpkg, conda package managers or even Linux distros (Ubuntu / Fedora / Arch / etc).
/cc @vrabaud as contributor of OpenCV and https://github.com/ros-gbp/opencv3-release repository. |
This PR simply adds a package.xml used for build tools like catkin or colcon, allowing for the essential build dependencies to be readily identified and when scheduling build order from dependency graphs.