Setuptools extension to build and package CMake projects
This project aims to simplify the integration of C++ projects based on CMake with Python packaging tools. CMake provides out-of-the-box support to either SWIG and pybind11, that are two among the most used projects to create Python bindings from C++ sources. If you have any experience with these hybrid projects, you know the challenges to make packaging right! This project takes inspiration from pre-existing examples (pybind/cmake_example, among many others) and provides a simple, flexible, and reusable setuptools extension with the following features: • Bridge between CMake projects and Python packaging. • Configure and build the CMake project from setup.py. • Install the CMake project in the resulting Python package. • Allow passing custom CMake options. • Allow creating a top-level __init__.py. • Expose C++ executables to the Python environment. • Provide a context manager to import reliably CPython modules on all major OSs. • Disable the C++ extension in editable installations (requiring to manually call CMake to install the C++ project).
Release | Stable | Testing |
---|---|---|
Fedora Rawhide | 0.6.1-2.fc42 | - |
Fedora 41 | 0.6.1-1.fc41 | - |
Fedora 40 | 0.6.1-2.fc40 | - |
Fedora EPEL 9 | 0.6.1-2.el9 | - |
Fedora EPEL 10.0 | 0.6.1-2.el10_0 | - |
You can contact the maintainers of this package via email at
python-cmake-build-extension dash maintainers at fedoraproject dot org
.