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

Feature Request: Bring directory reconstruction in to 0.10.x series #500

Open
matthock opened this issue Jul 25, 2024 · 3 comments
Open

Comments

@matthock
Copy link

#418 implemented a feature to match a feature supported by idlc and the C cyclonedds in 0.10 - idl files in nested directories. While it was implemented in master, it was never merged in to 0.10 to match the 0.10 C feature. Would it be possible to pull those changes in to 0.10?

@eboasson
Copy link
Contributor

If a back port is trivial we can consider it ...

At first sight it looks like

git cherry-pick --no-commit 12b4d8a c67fbc7 aab7156 bbb3214

appears to work (as it: cherry picks cleanly and builds cleanly). Maybe you give it a try?

@matthock
Copy link
Author

matthock commented Jul 31, 2024

I had to cherry pick 12b4d8a and 9485a93 instead (possibly the others got squashed in the PR merge and are only in dev checkouts), pulling in to tag 0.10.5, but using those two did get it working as expected, so it does look like it's a trivial backport.

edit Hold on that a bit. It's doing some odd unnecessary rebuilding of objects. I'm going to see if that's a problem with my configuration or if the PR is missing a necessary commit.

@matthock
Copy link
Author

So getting into what I'm seeing - it is regenerating/rebuilding everything in idlcxx_generate for every target it's linked in to. Given that I have a half dozen targets and hundreds of idl items, this takes a while ;)

That said, I believe the problem is actually in the core cyclonedds idlc, and is fixed in master there but just hasn't been backported into 0.10. It's also more of an annoyance than a blocker and one that can be worked around (build the idlcxx_generate target into an intermediate static library with private linking and then link that to each target that needs it). As a result, I don't believe it has an impact on this issue, it's just something I also saw while testing the potential PR changeset.

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

No branches or pull requests

2 participants