Skip to content

Add top-level CMake extensions target #12696

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

Merged
merged 24 commits into from
Jul 29, 2025
Merged

Conversation

GregoryComer
Copy link
Member

@GregoryComer GregoryComer commented Jul 21, 2025

Add a top level extensions CMake target, which includes all configured extensions. I validate this change by building a simple runner using the executorch_extensions target and verifying that it was able to build and run using the module and tensor extension. Once the changes land in ExecuTorch, this will be long-term validated in executorch-examples CI.

This is done in the context of top-level CMake targets, tracked in #12293.

[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
@GregoryComer
Copy link
Member Author

GregoryComer commented Jul 21, 2025

Copy link

pytorch-bot bot commented Jul 21, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/12696

Note: Links to docs will display an error until the docs builds have been completed.

❌ 4 New Failures, 9 Pending

As of commit b3944b3 with merge base 03f6bcc (image):

NEW FAILURES - The following jobs have failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 21, 2025
GregoryComer added a commit that referenced this pull request Jul 21, 2025
ghstack-source-id: 5dd260f
ghstack-comment-id: 3099981300
Pull-Request: #12696
[ghstack-poisoned]
[ghstack-poisoned]
GregoryComer added a commit that referenced this pull request Jul 22, 2025
ghstack-source-id: b1a33a4
ghstack-comment-id: 3099981300
Pull-Request: #12696
[ghstack-poisoned]
[ghstack-poisoned]
GregoryComer added a commit that referenced this pull request Jul 22, 2025
ghstack-source-id: 057b3f4
ghstack-comment-id: 3099981300
Pull-Request: #12696
@GregoryComer GregoryComer marked this pull request as ready for review July 22, 2025 05:03
@larryliu0820 larryliu0820 requested review from jathu and swolchok July 23, 2025 22:11
target_link_libraries(executorch_backends INTERFACE ${_executorch_backends})

# A target containing all configured extensions.
add_library(executorch_extensions INTERFACE)
Copy link
Contributor

@swolchok swolchok Jul 23, 2025

Choose a reason for hiding this comment

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

can you please include executorch_backends and executorch_extensions in the install() call alongside executorch and executorch_core so that we don't have to coordinate with the EXPORT PR? that should be enough to get it to work no matter which one lands first

Copy link
Member Author

Choose a reason for hiding this comment

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

I've updated to install these targets. Because of the order of declarations in the file, I can't directly add to the existing executorch / executorch_core install, as it is above many of the backend declarations. To avoid causing a bunch of merge conflicts by rearranging it, I've added an install for these new targets alone. I can add the export directive once #8954 is merged.

Copy link
Contributor

Choose a reason for hiding this comment

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

if you change an example to use these targets, CI will prevent us from messing it up in the future and give this diff coverage

Copy link
Member Author

Choose a reason for hiding this comment

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

I've updated executor_runner to use the top-level backends and extensions targets. I'll update examples with the export changes, as well.

@GregoryComer GregoryComer added the release notes: build Changes related to build, including dependency upgrades, build flags, optimizations, etc. label Jul 24, 2025
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
Base automatically changed from gh/GregoryComer/81/head to main July 28, 2025 21:41
[ghstack-poisoned]
@GregoryComer
Copy link
Member Author

The llama runner and ARM tests are infra failures due to download failures (likely related to the ongoing github incident).

@GregoryComer GregoryComer merged commit ce9da63 into main Jul 29, 2025
111 of 116 checks passed
@GregoryComer GregoryComer deleted the gh/GregoryComer/82/head branch July 29, 2025 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. release notes: build Changes related to build, including dependency upgrades, build flags, optimizations, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants