-
Notifications
You must be signed in to change notification settings - Fork 6
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
Switch to using GNUInstallDirs as defaults #2
Conversation
586592c
to
69dcfba
Compare
69dcfba
to
36b0f4a
Compare
Thanks for your contribution! |
Well that was rather brave to merge it without tests and as I was just force-pushing just 1 minute before. Luckily it was in a final state at that point. Anyway, the patch should be reconstructed in the other projects as well. One thing to note is that the |
The risk is low, as the exact same For the tests, yes, I will use the metasim project, as mentioned above. Note that RMOL depends on both So, an easier way to test that the new CMake configuration files work is to patch stdair, as that latter has no other dependency. Once we checked that stdair works well on several platforms, then we can copy the new CMake files in all the other components (I have done that regularly in the past); here again, metasim provides a relatively easy way to do it (don't worry, I can/will do it). |
If I can offer a design suggestion. Could the common parts be separated to a different project and then imported via But for this issue, I will try to port it to |
Sure, that is a good idea indeed! As a matter of fact, that common CMake configuration repository already exists: https://github.com/cpp-projects-showcase/config-cmake . It would need an upgrade, obviously. But feel free to adapt it to something more modern and maintainable. Note that for Fedora, it is easier if we do not have to introduce a new package. Otherwise we will have to submit a package review request, and that may take months/years. Hence, a way to solve that issue is to have all the CMake config in stdair, and then all the other components can import their CMake configuration from stdair. |
Call me to do the review and I can get it through in a timely manner. For debundling the review process is much easier. But there are other ways to bundle including using submodules. One thing that I would like you to consider is how much is the autotools compatibility necessary. It would be much easier to design a templatable It would also be nice to merge some of the efforts with these 2 projects of mine:
Although I haven't had time to review it lately to pull in some of the new things I have learned so far, but it would help if there is someone poking me or discuss about it. In particular I want to document some opinionated modern CMake standards in the |
As a matter of fact, the autotools part may not work anymore, I haven't used it for over 15 years or so. Hence, it may be a good opportunity to drop the compatibility with the autotools, indeed. I think it's a good idea to merge with/use your CMake utility. I let you a wild card to fully rework the build engine around CMake only. As long as it works on Fedora, Debian, Ubuntu, WSL and MacOS, and works with Python extensions (as in RMOL), anything reengineering will work for me. |
Thanks will see what I can do about these. Python extensions would be the tricky bit. Using |
GNUInstallDirs
has been a standard since at least CMake 3.0 and distros and other packages (including emebeded environments) use it to set their own standards. This PR migrates theINSTALL
variables to use it as a default.There was previously a choice of making all of those paths as absolute, but I don't think it is needed, please advice on where the absolute path is needed so that it can be better migrated.