Under the default scheme of Linux and MacOS, `base` variable has no
effect.
before: /usr/lib/pythonX.Y/site-packages
after: ${CMAKE_INSTALL_PREFIX}/lib/pythonX.Y/site-packages
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Request Python Development.Module instead of full embed development artifacts for pip builds, so manylinux can build the CPython extension without requiring libpython. Also extend wheel rpaths so repair tools can locate package-local libraries from plugin directories.
Authored by OpenClaw (model: gpt-5.5)
Use relative wheel rpaths so auditwheel and delocate can locate bundled Open Babel libraries after unpacking the wheel for repair. Avoid linking Unix wheel extension modules against libpython to keep the wheels portable across compatible interpreters.
Authored by OpenClaw (model: gpt-5.5)
Add a scikit-build-core Python package entry point for the in-tree Open Babel bindings and wire cibuildwheel to build release artifacts for Linux, macOS, and Windows.
Keep regular CMake installs unchanged by only installing into the wheel package layout when BUILD_BY_PIP is enabled.
Authored by OpenClaw (model: gpt-5.5)
- OBConformerSearch now handles filter and score in dtor
- Carefully free when changing score and filter
- Change bindings to ensure Python passes ownership to C++
Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
* Make sure HAVE_EIGEN3 is properly defined at configure
* Fixup Perl Zero error in SWIG bindings
Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
---------
Signed-off-by: Geoff Hutchison <geoff.hutchison@gmail.com>
* up cmake_minimum_required to 3.10
* delete CMP0042 because OLD behavior is removed in cmake-4 and
is no longer used.
* set ENABLE_EXPORTS for test_runner (OLD behavior for CMP0065 is removed
in cmake4)
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
* refactor: do not use `std::binary_function`, which is removed in C++17
fix#2461
* refactor: regenerate scripts/R/examples/openbabelR/src/openbabel-R.cpp
This change will build _openbabel.so in scripts/python/openbabel instead
of the default build/lib. This is necessary because openbabel.py tries
to import _openbabel like this:
if __package__ or "." in __name__:
from . import _openbabel
else:
import _openbabel
This results in a circular import error when running make test (the
first branch of the if is triggered). This code appears to be generated by
SWIG with no obvious way to change it to catch the ImportError and call
import _openbabel instead. Note the PYTHONPATH is set to include
build/lib, but it doesn't matter because SWIG is forcing the import to
happen in scripts/python/openbabel.
I'm not sure why this hasn't been a problem in the past, perhaps there's
been a change in SWIG. This is with SWIG 4.0.1 and cmake 3.18.6.
I think the best solution is to move all the files that are being built
in /scripts to the build directory rather than polluting the src tree
with them, but this would require changing all the bindings and I'm not
up for building and testing every binding.