ITADN

Modernize build system

#300Pull Requestlonvia 创建于 2025-08-28已合并
L
lonviacommented
This updates the build system and the CI runs: * Switch to [scikit-build-core](https://scikit-build-core.readthedocs.io/en/latest/index.html) for building. * Use cmake to get the libosmium and protozero dependencies. This means that CMakeLists.txt ist now the only place where versions need to be adapted. Switch to referring to versions by hash instead of tag for security reasons. * version.py is not dynamically built by cmake and always reflects the version of the dependencies that were really used to build. * Move tool scripts into the package, so that the modern way of declaring scripts in pyproject.toml can be used. * Update to the newest version of cibuildwheel and enable builds for free-threaded Python and arm architecture on all platforms. With the updated build scripts, pyosmium switches to the standard method of declaring custom locations for libosmium, protozero and boost via `Libosmium_ROOT`, `Protozero_ROOT` and `Boost_ROOT`. The old method of setting `LIBOSMIUM_PREFIX` and `PROTOZERO_PREFIX` will continue to work for a while but is considered deprecated. `pybind11` is not always installed via 'build'. Because of the way that scikit-build-core works, the old development setup where one could build into the `build` directory no longer works. The README describes the new recommended way via editable builds.
合并状态:已合并 合并于 2025-08-29 关闭于 2025-08-29 0 条评论