Skip to content

feat(cmake)!: improve code coverage module #21

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 18 commits into
base: main
Choose a base branch
from

Conversation

bruxisma
Copy link
Member

This PR brings gcov support and the GNU component to find_package(Coverage). Of note, this is a breaking change as the add_llvm_coverage command will most likely go away after this is merged.

This PR brings gcov support and the GNU component to `find_package(Coverage)`.
Of note, this is a breaking change as the `add_llvm_coverage` command
will most likely go away after this is merged.

Signed-off-by: Izzy Muerte <[email protected]>
@bruxisma bruxisma added compiler:gnu Compiler: A GNU compiler compiler:llvm Compiler: An LLVM project compiler subject:packages Subject: find_package or similar category:feature Category: A new feature request or implementation labels Feb 24, 2025
bruxisma added a commit that referenced this pull request Mar 11, 2025
`internal` is an inaccurate name for IXM's runtime API. Hence, a quick
rename is in order. This was already done in #21. To reduce that PR
going out of scope, I'm moving that small amount of work here.

Signed-off-by: Izzy Muerte <[email protected]>
bruxisma added a commit that referenced this pull request Mar 11, 2025
`internal` is an inaccurate name for IXM's runtime API. Hence, a quick
rename is in order. This was already done in #21. To reduce that PR
going out of scope, I'm moving that small amount of work here.

Signed-off-by: Izzy Muerte <[email protected]>
bruxisma added a commit that referenced this pull request Mar 13, 2025
)

This is technically a backport decision from #21. CMake is starting to
place "newer" features into `.cmake` instead of `CMakeFiles`, so it
stands that IXM should do the same.

Signed-off-by: Izzy Muerte <[email protected]>
bruxisma added a commit that referenced this pull request Mar 13, 2025
This is another change backported from #21

Signed-off-by: Izzy Muerte <[email protected]>
bruxisma added a commit that referenced this pull request Mar 13, 2025
This is another change backported from #21

Signed-off-by: Izzy Muerte <[email protected]>
@bruxisma
Copy link
Member Author

As I've been doing more work on this, I've come to the conclusion that this find_package module needs to be split up into 3 separate find_package modules: ProfileGuidedOptimization, Instrumentation, Coverage. Technically speaking, the various sanitizers also fall into this group, but that already has an existing package file, so at most it will be reorganized under the documentation so that everything is organized as a topic.

This PR will remain open for now, as the code found here is important and because the other PR has yet to be created.

bruxisma added a commit that referenced this pull request Mar 17, 2025
This introduces `ixm_property`, a command that was originally
implemented as `ixm_target_property` in #21. However, as that PR is
broken apart and into separate pieces I've been re-evaluating how each
component should be named or how it works. Not much has changed with
this command's implementation however it's name required an update as
only target properties can be used with this command anyhow. There are
possibly more useful additions that can be added for the final generator
expression that is generated, however I'm keeping it as simple as it can
be for now given its use-cases.

Signed-off-by: Izzy Muerte <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:feature Category: A new feature request or implementation compiler:gnu Compiler: A GNU compiler compiler:llvm Compiler: An LLVM project compiler subject:packages Subject: find_package or similar
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant