-
Notifications
You must be signed in to change notification settings - Fork 32
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
Why do we need FindEIGEN3.cmake ? #119
Comments
If I recall correctly, it was only (relatively) recently that Eigen3 started providing a cmake config-file. The official debian package for Eigen3 on one of the earlier platforms that we needed to support did not provide the config-file. I don't remember which platform was missing the config-file, but if we no longer support that platform, then we can consider getting rid of the |
I guess the latest Ubuntu LTS without an Eigen3Config.cmake was Ubuntu 14.04 Trusty, see ros/cmake_modules#25 . However, if we drop the |
@traversaro why do we need any |
All the ignition libraries generate |
I see. I wonder who is using the |
Great point about pkg-config. The Is there any problem with the |
We definitely have users who prefer pkg-config over cmake because pkg-config is considered more portable between different build systems, and not all of our users like to use cmake. |
|
I don't know what that reviewer's concern is. Packaging and distributing cmake find-modules for non-cmake dependencies is considered good practice. The only issue I can think of is if our find-modules conflict with another package's find-modules and someone wants to use both our package and the other package as dependencies for the same project, and the find-modules exhibit critically different behaviors. |
I think that the question here is "Why are these The reviewer's concern is that when packaging
|
This is what I'm lost on. What does it mean for If that's what's meant by fail, then that's perfectly normal. find-modules are designed to fail gracefully when the desired package is not available. Cmake itself is distributed with lots of find-modules for packages that users might not actually have, like boost or protobuf. I wonder if there may be some confusion here between the nature of a find-module and a config-file. Config-files are meant exclusively for packages that are definitely installed, but that's not what we're distributing here. We're distributing find-modules which are redistributable cmake modules whose job is to sniff around for the presence of a package and declare whether the package is available or not. I can agree that there's a fair debate to be had about whether the "best" place for these modules would be
The only downside I can think of for putting the find-modules in |
tl;dr: find-modules are just another type of cmake module, just like the cmake modules that provide functions or macros. They don't have any packaging dependencies or requirements besides cmake. |
this conversation seems to have reached a stopping point. I'll close for now; please reopen if there are still concerns |
I'm having a hard time understanding why do we need
FindEIGEN3.cmake
Can't we rely on the standard CMake lookup process and just do
find_package(Eigen3 CONFIG)
?Eigen3
comes with anEigen3Config.cmake
file.By the way, I'm asking this question because I'm trying to add
ignition-math
as a Conan package: conan-io/conan-center-index#3215The text was updated successfully, but these errors were encountered: