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

fix: bootstrap build #568

Merged
merged 5 commits into from
Dec 14, 2024
Merged

fix: bootstrap build #568

merged 5 commits into from
Dec 14, 2024

Conversation

mayeut
Copy link
Contributor

@mayeut mayeut commented Nov 30, 2024

This PR declares a custom build backend for the CMake PyPI distrbution. The following are included:

  • removes the Ninja PyPI distribution build dependency by default in order to break a build cycle (cmake -> ninja -> cmake) when binary wheels are not available and Ninja is not present/too old on the build system. (this is fix: do not require Ninja #566)
  • removes the CMake PyPI distrbution build dependency by default in order to break a build cycle (cmake -> cmake) when binary wheels are not available and CMake is not present/too old on the build system.
  • Uses a bootstrapped CMake in order to build itself when CMake is not present/too old on the build system.

Relates to #503 (comment).

The bootstrap build might not be efficient as we're building CMake twice but that's the easiest way I could think of and hopefully, those kind of builds should not happen that often.

close #566

@mayeut mayeut force-pushed the bootstrap branch 6 times, most recently from e3a7558 to 77917ba Compare November 30, 2024 19:54
@mayeut mayeut changed the title WIP fix: bootstrap build on Unix fix: bootstrap build Nov 30, 2024
@mayeut mayeut marked this pull request as ready for review November 30, 2024 20:09
Copy link
Contributor

@henryiii henryiii left a comment

Choose a reason for hiding this comment

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

Okay to try it on the current release.

This should prevent bootstrapping issues between CMake PyPI distribution and Ninja PyPI distribution when building either one from sources.
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