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

ament_export_dependencies any package with targets we linked against #89

Merged
merged 1 commit into from
Jun 13, 2022

Conversation

sloretz
Copy link
Contributor

@sloretz sloretz commented Jun 10, 2022

Resolves #82

When building static libraries CMake will link PRIVATE targets downstream as if they were PUBLIC. This calls ament_export_dependencies on all packages providing targets that are linked against so downstream packages have those targets available too.

Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
@sloretz sloretz added the bug Something isn't working label Jun 10, 2022
@sloretz sloretz self-assigned this Jun 10, 2022
@sloretz
Copy link
Contributor Author

sloretz commented Jun 10, 2022

Note this doesn't completely fix the build described in #82 (comment) because other packages have the same issue, but it resolves the issue in this package.

@sloretz
Copy link
Contributor Author

sloretz commented Jun 10, 2022

CI (build: --packages-up-to rcl test: --packages-select rcl_logging_spdlog rcl)

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me with green CI (though I'll suggest running with --packages-above rcl_logging_spdlog, to make sure downstreams pick up these new exports properly).

@sloretz
Copy link
Contributor Author

sloretz commented Jun 13, 2022

Looks good to me with green CI (though I'll suggest running with --packages-above rcl_logging_spdlog, to make sure downstreams pick up these new exports properly).

I wouldn't expect that to tell us much because CI builds shared libraries, and that works with or without this PR. I can't make CI build static libraries because other packages with the same issue prevent building rcl.

@sloretz sloretz merged commit 220ba6f into master Jun 13, 2022
@delete-merged-branch delete-merged-branch bot deleted the sloretz__export_all_linked_dependencies branch June 13, 2022 15:56
@sloretz
Copy link
Contributor Author

sloretz commented Jun 13, 2022

@Mergifyio backport humble galactic

mergify bot pushed a commit that referenced this pull request Jun 13, 2022
…89)

Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
(cherry picked from commit 220ba6f)
mergify bot pushed a commit that referenced this pull request Jun 13, 2022
…89)

Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
(cherry picked from commit 220ba6f)
@mergify
Copy link

mergify bot commented Jun 13, 2022

backport humble galactic

✅ Backports have been created

clalancette pushed a commit that referenced this pull request Jun 30, 2022
…89) (#91)

Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
(cherry picked from commit 220ba6f)

Co-authored-by: Shane Loretz <sloretz@openrobotics.org>
clalancette pushed a commit that referenced this pull request Jun 30, 2022
…89) (#90)

Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
(cherry picked from commit 220ba6f)

Co-authored-by: Shane Loretz <sloretz@openrobotics.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing ament_export_dependencies for spdlog for static ros2 builds
2 participants