-
Notifications
You must be signed in to change notification settings - Fork 75
Description
I think this can be supported with a few more override settings. We could provide:
-
if.failed: If the build fails, the config settings gets rerun, and if any match this, the new configuration is used. This only happens once. -
if.system-cmakeandif.cmake-wheel. -
message.after-failure: This will display if the build fails. -
fail = true: This will fail the build. Might be only allowed in overrides.
Should we allow failed to take the condition of failure? I think the conditions would be "configure", "build", and "install". Though maybe it's better to just wait until someone asks for the ability to differentiate?
The cmake one would trigger if you were not on a platform with a known cmake wheel and there's no sufficient CMake present, or always if there's no system CMake. If this matches,
then it affects if cmake is requested, as well.
This is what pure-python on non-supported CMake system would look like:
[[tool.scikit-build.overrides]]
if.no-system-cmake = "known-wheel"
wheel.cmake = falseOr if the build fails:
[[tool.scikit-build.overrides]]
if.failed = true
wheel.cmake = falseCustom message on failure:
[tool.scikit-build]
error-message = "The build failed!"I think this would add a lot of flexibility; for an unrelated example, you could fail on unsupported Pythons:
[[tool.scikit-build.overrides]]
if.python-version = ">=3.13"
error-message = "Python 3.13+ is not supported yet!"
fail = trueI'm looking at a way to allow the cmake wheel to trigger the bootstrapping feature, and I think this would be a step in that direction too.
This is a very rough draft of what I'm thinking.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status