Skip to content

Commit 48a879b

Browse files
authored
docs: some updates (#334)
Some updates, includes a mention of #333. Signed-off-by: Henry Schreiner <[email protected]>
1 parent 19498e5 commit 48a879b

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# scikit-build-core
22

33
[![Documentation Status][rtd-badge]][rtd-link]
4+
[![GitHub Discussion][github-discussions-badge]][github-discussions-link]
45

56
[![Actions Status][actions-badge]][actions-link]
6-
[![Code style: black][black-badge]][black-link]
77
[![codecov][codecov-badge]][codecov-link]
8-
[![GitHub Discussion][github-discussions-badge]][github-discussions-link]
98

109
[![PyPI version][pypi-version]][pypi-link]
1110
[![Conda-Forge][conda-badge]][conda-link]
@@ -211,6 +210,24 @@ Most CMake environment variables should be supported, and `CMAKE_ARGS` can be
211210
used to set extra CMake args. `ARCHFLAGS` is used to specify macOS universal2 or
212211
cross-compiles, just like setuptools.
213212

213+
## Other projects for building
214+
215+
Scikit-build-core is a binary build backend. There are also other binary build
216+
backends:
217+
218+
- [py-build-cmake][]: A different attempt at a standards compliant builder for
219+
CMake. Strong focus on cross-compilation. Uses Flit internals.
220+
- [meson-python][]: A meson-based build backend; has some maintainer overlap
221+
with scikit-build-core.
222+
- [maturin][]: A build backend for Rust projects, using Cargo.
223+
- [enscons][]: A SCons based backend, not very actively developed (it predates
224+
all the others in modern standard support!)
225+
226+
If you don't need a binary build, you don't need to use a binary build backend!
227+
There are some very good Python build backends; we recommend [hatchling][] as a
228+
good balance between good defaults for beginners and good support for advanced
229+
use cases. This is the tool scikit-build-core itself uses.
230+
214231
## Acknowledgements
215232

216233
Support for this work was provided by NSF cooperative agreement [OAC-2209877][].
@@ -234,4 +251,8 @@ Support for this work was provided by NSF cooperative agreement [OAC-2209877][].
234251
[rtd-badge]: https://readthedocs.org/projects/scikit-build-core/badge/?version=latest
235252
[rtd-link]: https://scikit-build-core.readthedocs.io/en/latest/?badge=latest
236253
[OAC-2209877]: https://www.nsf.gov/awardsearch/showAward?AWD_ID=2209877&HistoricalAwards=false
254+
[hatchling]: https://hatch.pypa.io/latest
255+
[maturin]: https://www.maturin.rs
256+
[enscons]: https://pypi.org/project/enscons
257+
[py-build-cmake]: https://tttapa.github.io/py-build-cmake
237258
<!-- prettier-ignore-end -->

docs/cmakelists.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,20 @@ as that include "Embed" component, which is not always present and is not
2323
related to making Python extension modules.
2424

2525
If you are making a Limited ABI / Stable API package, you'll need the
26-
`Development.SABIModule` component instead.
26+
`Development.SABIModule` component instead. You can use the
27+
`SKBUILD_LIMITED_API` variable to check to see if it was requested.
28+
29+
If you want to use the old, deprecated FindPythnoInterp and FindPythonLibs
30+
instead, you can. Though it should be noted that FindPythonLibs requires a trick
31+
to make it work properly if a Python library is not preset (like in manylinux):
32+
you have to set `PYTHON_LIBRARY` to something (doesn't matter what) to make it
33+
succeed.
2734

2835
## Finding other packages
2936

3037
Scikit-build-core includes the site-packages directory in CMake's search path,
3138
so packages can provide a find package config with a name matching the package
32-
name - such as the `pybind11` package. Later versions of scikit-build core will
33-
include a design for package to provide arbitrary CMake code.
39+
name - such as the `pybind11` package.
3440

3541
Third party packages can declare entry-points `cmake.module` and `cmake.prefix`,
3642
and the specified module will be added to `CMAKE_PREFIX_PATH` and
@@ -63,5 +69,5 @@ configuration, with the variables:
6369

6470
## Future additions
6571

66-
Scikit-build-core does not include helpers for Fortran or Cython like
67-
scikit-build classic yet. These will be carefully reimagined soon.
72+
Scikit-build-core does not include helpers for F2Py or Cython like scikit-build
73+
classic yet. These will be carefully reimagined soon.

0 commit comments

Comments
 (0)