diff --git a/docs/build.md b/docs/build.md index 3b62cf495..8ea554ddf 100644 --- a/docs/build.md +++ b/docs/build.md @@ -16,7 +16,7 @@ pipx run build ````{tab} uv ```bash -uvx --from build pyproject-build --installer=uv +uv build ``` ```` diff --git a/docs/crosscompile.md b/docs/crosscompile.md index 3dc750414..97b24531a 100644 --- a/docs/crosscompile.md +++ b/docs/crosscompile.md @@ -2,12 +2,25 @@ ## macOS +Unlike the other platforms, macOS has the ability to target older operating +systems with the `MACOSX_DEPLOYMENT_TARGET` variable. If that is not set, you +will get a wheel optimized for the current operating system. Popular +redistributable builders like cibuildwheel will set this for you. + +:::{warning} + +While CMake also allows you to specify this a few other ways, scikit-build-core +will not know you've set this and won't get the correct wheel name. + +::: + ### Intel to AppleSilicon On macOS, AppleClang has excellent support for making Apple Silicon and Universal2 binaries (both architectures in one binary). Scikit-build-core respects `ARCHFLAGS` if `CMAKE_SYSTEM_PROCESSOR` is not in the cmake args. These -values are set by cibuildwheel when cross-compiling. +values are set by most redistributable builders like cibuildwheel when +cross-compiling. :::{warning} @@ -19,6 +32,13 @@ Universal2. ::: +:::{warning} + +If you manually set the arch flags in other ways besides `ARCHFLAGS`, or the one +special case above, scikit-build-core will not get the right wheel name. + +::: + ## Windows ### Intel to ARM