aboutsummaryrefslogtreecommitdiff
path: root/python/python3-cmake-build-extension/README
diff options
context:
space:
mode:
authorSteven Voges <svoges.sbo@gmail.com>2022-09-09 23:22:31 +0100
committerbedlam <dave@slackbuilds.org>2022-09-09 23:22:31 +0100
commitad24016b2fd295783f82e523fc78eceb92ae9628 (patch)
treed0a5fde6bea7f6222f015aa5bcfdc3a84d6cf4cf /python/python3-cmake-build-extension/README
parent56a1a49b0899afeeae0bdd759979864aae107dde (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/README24
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).