-
Notifications
You must be signed in to change notification settings - Fork 124
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
include order can cause the wrong headers to be used #130
Comments
this will be targeted post bouncy, removing the milestone. |
A CMake function with that functionality already exists: ament_include_directories_order And it is already being used within ament_cmake/ament_cmake_target_dependencies/cmake/ament_target_dependencies.cmake Line 51 in 06f842e
Since the referenced PR collects the include directories manually the package needs to call @wjwwood Can this ticket be closed? |
Not relevant for the reported case of this ticket but after investigating another report I created #157 which fixes |
I think it could be closed if the workaround in ros2/rviz#243 were replaced with use of this function. I think we ought to be using it everywhere, but that's a systemic issue. |
Do you want to keep this ticket open until that has been addressed in the
Afaik we already do use |
Well, my original ask for this issue was to keep it open until the necessary feature was added and deployed in rviz and elsewhere:
I was unaware of the function and also unaware of any place where we were using it. I didn't realize we were using it in Also, searching for Is there an example of how (or do you have an idea of how) to use this correctly when you need to add the include directory manually and with At the very least we should address it in rviz. Since you suggested the fix in rviz originally (and because it's still a bit unclear to me how to do it along side |
Each call is separate from each other. So only the dependencies from a single call are ordered relatively to each other. Separate calls are adding the information in the order of the calls.
I am not sure what kind of example you are looking for. If you need to call both functions they will add the information to the target in the order you call them. Just as if you would call
I am sorry, but I simply don't have the bandwidth to start looking into making |
I created ros2/ros2#658 to track the enhancement to use |
This manifested in this pr: ros2/rviz#243
Basically, the urdf from somewhere like
/usr/include
(not sure exactly where from) when they should have been found in the workspace where rviz was being built.Catkin had a way to deal with this by sorting include directories by workspace folder order, placing all include paths outside of any of the workspaces last in the order.
ament_cmake
should provide a function to emulate this behavior in order to better support overlaying.@mikaelarguedas or @dirk-thomas feel free to add more details if you have them.
Also, this new function should either be used everywhere or at least where it has been a problem before, and in either case the pr linked above should be fixed with this function as well.
The text was updated successfully, but these errors were encountered: