Skip to content
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

fix chaining of plain cmake packages: remove exec '' statement #422

Merged
merged 1 commit into from
May 15, 2013

Conversation

smits
Copy link
Contributor

@smits smits commented May 14, 2013

Signed-off-by: Ruben Smits [email protected]

@dirk-thomas
Copy link
Member

I agree that the exec should be removed since setup.sh is never invoked with arguments. But could you please describe what use case was not working for you?

@smits
Copy link
Contributor Author

smits commented May 14, 2013

Op 14 mei 2013 22:16 schreef "Dirk Thomas" [email protected] het
volgende:

I agree that the exec should be removed since setup.sh is never invoked
with arguments. But could you please describe what use case was not working
for you?

I had multiple plain cmake packages in my workspace which depend on each
other (orocos toolchain) , due to the exec, cmake was executed in the
setup.sh environment of the first package of my workspace chain instead of
building up the environment with all preceding packages, which resulted in
a failure of building a package that depends on a package which is not the
first one. Removing the exec makes sure the entire environment is chained
up before building a package.

Ruben


Reply to this email directly or view it on GitHub.

@dirk-thomas
Copy link
Member

Can you please describe a reproducible scenario (at best with step-by-step commands) since I can't reproduce it with a simple workspace consisting of two plain CMake packages where A build_depends on B?

@smits
Copy link
Contributor Author

smits commented May 14, 2013

This is expected, what you need are at least three packages build in the
order A B C and with C depending on B. Due to the early exec only the
environment of A is used to build C, with the required environment of B
missing.

I'll send an example later today if still needed.

@smits
Copy link
Contributor Author

smits commented May 15, 2013

Do you still need that example?

@dirk-thomas
Copy link
Member

I will give it a try with three packages and get back to you.

@dirk-thomas
Copy link
Member

After I was able to reproduce it with three plain packages I can understand how and why it breaks like that.

Thank you for describing it in detail and of course the patch.

dirk-thomas added a commit that referenced this pull request May 15, 2013
fix chaining of plain cmake packages: remove exec '' statement
@dirk-thomas dirk-thomas merged commit db78d36 into ros:groovy-devel May 15, 2013
cwecht pushed a commit to cwecht/catkin that referenced this pull request Mar 20, 2018
Implementation of ros#422 by @ojura. Original feature idea and implementation by @jihoonl.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants