Skip to content

[lldb/cmake][WIP] Plugin layering enforcement mechanism #144543

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

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

labath
Copy link
Collaborator

@labath labath commented Jun 17, 2025

No description provided.

@labath labath requested review from bulbazord and JDevlieghere June 17, 2025 14:57
@labath
Copy link
Collaborator Author

labath commented Jun 17, 2025

Not completely finished (not least because it doesn't build), but I think the framework is obvious, so I though this would be a good idea for the first round of feedback. (context: #139170)

@labath labath requested a review from royitaqi June 17, 2025 15:00
@labath
Copy link
Collaborator Author

labath commented Jun 17, 2025

As I needed to make sense of these deps, I made the code generate a dependency graph (yay for cmake). This is what it looks like right now:

a

Comment on lines +3 to +4
define_property(DIRECTORY PROPERTY LLDB_PERMITTED_PLUGIN_DEPENDENCIES)
define_property(TARGET PROPERTY LLDB_PERMITTED_PLUGIN_DEPENDENCIES INHERITED)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I suppose one question is whether to create separate categories for "permitted" (okay) and "tolerated" (things we'd rather remove, shown as yellow in the graph) dependencies...

Copy link
Member

Choose a reason for hiding this comment

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

Seems like a nice to have as it makes it easy to track the progress towards our ultimate goal.

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