I have been mildly interested on the subject and been spending some time lately on how to automate the process of binding creation and I came to the conclusion that swig is not the easier thing to work with. Keep in mind that my C/C++ skills are less than 0 so I probably miss something vital on my evaluation but as of now I would stay away from swig. There are a number of roads to walk with most promising
- smoke It is already QT centric which means that you will have more help to write the definition or even none work at all depending on the requirements.
- a Custom solution using existing tools like GCCXML and use the generated xml file to feed it to a custom generator (written in pascal?) and you are almost set. I do not know if we could avoid flattening the C++ object to C calls as well with this.
- cableswig it uses the GCCXML internally too so it might be easier to write definition for it.
Any way if you decide the go the gccxml way instead of swig I wouldn't mind getting lightly involved.
Thanks taazz!
1. I'll check what is smoke.
2 and 3. creators of CABLE currently developing "Insight Toolkit" and they use GCCXML to generate input file for SWIG and then call SWIG for actual generations of wrappers. We can try this approach later if it produces better results.
add.. quickly look into SMOKE.
Well, if I understood correctly. config xml files have to be created manually and populated by classes etc, what to include, what to exclude... It generates CPP library and header. Pascal wrapping layer has to be created outside SMOKE.
From SWIG I expect, it should generate both. May be I am too optimistic.