grasph / wrapit

Automatization of C++--Julia wrapper generation
MIT License
101 stars 13 forks source link

How to include source files in #3

Closed akielaries closed 1 year ago

akielaries commented 1 year ago

From my understanding wrapit makes use of header files to generate bindings for Julia but how can their corresponding source files be included in the compilation/binding process perhaps in the *.wit file?

grasph commented 1 year ago

Hello Akiel,

WrapIt generates the code for the binding. It does not take care of the compilation. You can find some Makefile examples in the "examples" directory.

In the use case of adding Julia binding to an existing library, you just need to link the binding shared library with the library as done in the examples/ex002-ROOT example. In the case you start from source code, you can either use this two-library scheme or link the code together with the binding code into a single shared library.

I hope this answers your question.

Regards,

Philippe.

akielaries commented 1 year ago

This is a huge help, thank you very much. I was able to get this all working as well as some messiness around namespaces + classes. This project has been a huge help. How interested would you be in a PR including some further documentation and/or possible example(s) further showcasing the use of wrapit, perhaps in a examples/ex003 folder? Thank you again.

grasph commented 1 year ago

That sounds good. Your PR is welcome. I will review what you propose to add in the PR.

Thanks, Philippe.