-
Notifications
You must be signed in to change notification settings - Fork 281
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 script for finding TinyXML. #486
Conversation
@adolfo-rt This will likely require an install rule be added, unless this folder is glob selected. I know you were hoping to get this merged in directly, but it will likely fire up another round of debate about where these should live. Since several packages currently use tinyxml and should reuse one FindTinyXML.cmake, I would be in favor of allowing this module to be added. |
But as I mentioned before, a separate package to hold these kind of modules would probably be a better solution. |
Since catkin does not require tinyxml this module should not be part of catkin. The topic has been discussed before on the mailing list: https://groups.google.com/forum/?hl=en#!msg/ros-sig-buildsystem/_AJ3ZaR-41A/WpcuZQ9R6g0J There are multiple other options - all with their own pros and cons:
|
@dirk-thomas is right, I would suggest putting it in the package locally for now, and we can take your contributed module and put it into a new package which serves as a repository for such files. |
I created a package here: https://github.com/ros/cmake_modules |
I've documented the current method for including TinyXML on the wiki: I think adding a custom cmake file to every package that needs tinyxml (a lot) is very inconvenient and duplicates a lot of functionality. What we really need is:
|
Maybe someone who can speak of CMake more elequently than I could add a ticket for TinyXML: There's already a issue for using CMake as the build system, but all we really want is for a FindTinyXML.cmake file to be installed with TinyXML, right? |
Like everything, to go from one solution level to the next requires someone to push for it. |
@davetcoleman Yes, it doesn't have to use CMake as the build system in order to provide a |
I would point out, that like the CMake contribution model, we would need to wait for a new version of tinyxml, which includes the file we need, to be available on all supported platforms. I think that the timeline for that is about a year at the least. |
How would they depend on that? Just downloading it manually into their package or some better way? @adolfo-rt will you add the FindTinyXML.cmake to the new repo? |
You just have to |
My suggestion, after reading a bit, would be to have the |
We will have to create a config-extra file for the package so that it can expose these properly in the devel space. |
I am referencing this: http://www.cmake.org/cmake/help/v2.8.8/cmake.html#command:find_package |
I have setup the catkin package and added the tinyxml rule you proposed here: https://github.com/ros/cmake_modules Can I get a review of the package @dirk-thomas |
Thanks for pushing the script on the cmake_modules package. I think it's the best compromise right now. I think the file naming is incorrect according my understanding of CMake's convention. The
In config mode, if the The above being said, I propose to rename tinyxml-config.cmake to |
@adolfo-rt, I think @dirk-thomas and I came to the same conclusion, but we were trying to figure out some other details on how to distribute this stuff and what rules to make about what we accept. We would like to make them as consistent as possible. |
@adolfo-rt @dirk-thomas Should it be |
I updated the repository to use/recommend Modules over config files and I updated the CONTRIBUTING.md file (which shows up when a pull request is being opened): https://github.com/ros/cmake_modules/blob/master/CONTRIBUTING.md |
Where should we install these modules to?
Thoughts? |
I think we will install our CMake modules to a namespaced folder which is not on the |
+1 |
Ok, I updated the package to reflect this stuff, @dirk-thomas can you review it? |
@adolfo-rt @davetcoleman Can you guys read and comment on the contribution guide for the new package? https://github.com/ros/cmake_modules/blob/master/CONTRIBUTING.md |
Looks great +1 |
Good documentation +1 |
This little test package works: https://github.com/ros/cmake_modules/tree/master/tests/test_find_tinyxml |
Yes, you got that right. |
It's concise and the wording is clear. I like it!. I submitted a PR with minimal changes. It's great that we didn't loose momentum and got this done. My thanks to all of you. |
I have released the package into Hydro and Groovy, added it to the doc jobs, and I put a note on its wiki page pointing to the readme for usage. |
So I should watch for an update to the catkin package for this to take effect in public? Then we can remove the custom cmake file from ros_control, correct? |
@davetcoleman Depends on what you want. If most people are using |
Ah, so its a new package called |
This sounds like a good test for the documentation: https://github.com/ros/cmake_modules/blob/master/README.md#usage |
No description provided.