diff options
| author | Steven Voges <svoges.sbo@gmail.com> | 2022-09-09 23:22:31 +0100 |
|---|---|---|
| committer | bedlam <dave@slackbuilds.org> | 2022-09-09 23:22:31 +0100 |
| commit | ad24016b2fd295783f82e523fc78eceb92ae9628 (patch) | |
| tree | d0a5fde6bea7f6222f015aa5bcfdc3a84d6cf4cf /python/python3-cmake-build-extension/README | |
| parent | 56a1a49b0899afeeae0bdd759979864aae107dde (diff) | |
python/python3-cmake-build-extension: Added (Python CMake Extension)
Signed-off-by: bedlam <dave@slackbuilds.org>
Diffstat (limited to 'python/python3-cmake-build-extension/README')
| -rw-r--r-- | python/python3-cmake-build-extension/README | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/python/python3-cmake-build-extension/README b/python/python3-cmake-build-extension/README new file mode 100644 index 0000000000..22cf1a24f5 --- /dev/null +++ b/python/python3-cmake-build-extension/README @@ -0,0 +1,24 @@ +cmake-build-extension is a 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). |
