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

Provide an example of extending CMake project type in Core Build #1052

Merged
merged 2 commits into from
Jan 23, 2025

Conversation

jonahgraham
Copy link
Member

In issue #1000 a lot of the work is on exposing a better API to ISVs.
This new project serves these purposes:

  • Ensure the exposed API works in practice
  • Example for ISVs to use if they want to extend CMake
  • Provide an in-tree example of the API in use, so future editors of CDT have better chance of understanding why items are done as they are.

PR eclipse-cdt#1010 added the ability to extend CMakeBuildConfiguration and
CMakeBuildConfigurationProvider by making the classes public
API, they used to be internal API.

This change makes it easier to reuse the code in the provider
and configuration by allowing extenders to provide their own
implementations of CMakeBuildConfiguration. This has been
achieved by adding createCMakeBuildConfiguration methods to
control which CMakeBuildConfiguration is constructed.

Follow up to eclipse-cdt#1010
@jonahgraham
Copy link
Member Author

@betamaxbandit please have a look at this and let me know your thoughts.

In particular see the TODO in new class ExtendedCMakeBuildConfiguration where you can demonstrate the new API being added in #1046

Copy link

github-actions bot commented Jan 22, 2025

Test Results

   601 files  ±0     601 suites  ±0   12m 55s ⏱️ +2s
10 200 tests ±0  10 177 ✅ ±0  23 💤 ±0  0 ❌ ±0 
10 238 runs  ±0  10 215 ✅ ±0  23 💤 ±0  0 ❌ ±0 

Results for commit c1d2386. ± Comparison against base commit 9e04dc5.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@betamaxbandit betamaxbandit left a comment

Choose a reason for hiding this comment

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

LGTM
just a minor typo

cmake/org.eclipse.cdt.cmake.example/plugin.xml Outdated Show resolved Hide resolved
In issue eclipse-cdt#1000 a lot of the work is on exposing a better API to ISVs.
This new project serves these purposes:

- Ensure the exposed API works in practice
- Example for ISVs to use if they want to extend CMake
- Provide an in-tree example of the API in use, so future editors of
  CDT have better chance of understanding *why* items are done as
  they are.
@jonahgraham jonahgraham merged commit 5e62200 into eclipse-cdt:main Jan 23, 2025
5 checks passed
@jonahgraham jonahgraham deleted the example-cmake branch January 23, 2025 14:20
@jonahgraham jonahgraham added this to the 12.0.0 M2 milestone Jan 23, 2025
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