-
Notifications
You must be signed in to change notification settings - Fork 22
build prefix command is naive #57
Comments
ament_tools/ament_tools/build_types/cmake.py Line 349 in 6ce9ab3
ament_tools/ament_tools/topological_order.py Line 117 in 6ce9ab3
Therefore I don't think anything needs to be changed here? |
Based on the output of #62 it looks like that the order is correct. The problem is that the environment files include not only the recursive dependencies but also downstream packages - basically all packages of the workspace. |
@dirk-thomas But they should be skipped because they don't have environment hooks inside the workspace? or is it a problem when you install two workspaces to the same install space? |
Sorry, I meant downstream packages. E.g. |
Oh, it's not just the dependencies, but also anything that comes before in the topological order. |
It includes even packages which come afterwards in the topological order. |
For packages with dependencies on other ament packages the list and order is correct. But for packages without dependencies on other ament packages the list contains all packages from the workspace. The fix is simple: #63. |
This function:
https://github.com/ament/ament_tools/blob/master/ament_tools/build_types/cmake.py#L346-L364
Currently sources dependencies of the package being built in an arbitrary order if they have a
local_setup.*
file.Instead it should source the
local_setup.*
files for the recursive build dependencies and they should be sourced in topological order.The text was updated successfully, but these errors were encountered: