ffig
ffig copied to clipboard
Generate code to call C++ libraries from other languages
Support for some languages is better than others. Add a table to the README to make this clear and avoid wasting people's time.
FFIG could generate Cython `.pyx` files and use CMake to build them into extension modules.
No idea how difficult this would be ... :-) We have C/C++ functions that interface with Python by wrapping C-arrays of doubles into Numpy arrays for return values as well...
Julia is a new language designed for scientific programming. It has a CFFI so should be useable with FFIG. https://julialang.org https://docs.julialang.org/en/stable/manual/calling-c-and-fortran-code/
See resolution to https://gitlab.kitware.com/cmake/cmake/issues/18005 or https://stackoverflow.com/questions/50398953/how-can-i-get-cmake-to-produce-a-build-error-if-an-expected-output-is-not-produc and implement required changes.
Java bindings should have javadoc so that the JAR file can be easily used inside IDEs. This should just be a case of generating a comment block.
Currently boost::python bindings are tested with a very rudimentary inline Python script. All of the existing Python tests should be used for boost::python testing (possibly with some transformation performed to...
According to [GitHub documentation](https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/), issues and PRs can automatically use templates from .github/ or docs/ directories. Currently, docs/ has a subdir ISSUE_TEMPLATE with 2 files. Unfortunately, this isn't recognised and...
It would be good to have a CMake target per FFIG binding rather than all bindings rolled into one: `add_ffig_c_library` `add_ffig_cpp_library` `add_ffig_python_library` `add_ffig_ruby_library` etc.