Today I forked the qt5 interface cbindings (the code used to build libQt5Pas) and tried to adapt it to CopperSpice. To my surprise it's a beast with 707 source files under src dir. CodeBlocks failed to process such a number of files, it crashed after some find and replace and rebuild. I have to ask for the help of Eclipse CDT. It ate all of my RAM but it didn't crash and still responsive. You know, Java application is not always bad! My job is straight forward, replacing header name, delete removed macros, processing (by hand) SLOT and SIGNAL (CopperSpice removed MOC so they use a macro, CS_Object, it needs a class name, unlike the Q_Object doesn't need a class name). C++ compilation is very slow but thanks to Eclipse CDT very much for it incremental build I could rebuild the whole project regularly without took too much time. But after I encountered incompatibility between CopperSpice and Qt5 my job slowed down very much. I have to read CopperSpice's API reference and do trial and error util the source file compile and jump to the next source file that has error. It took me 3 hrs and and only processed 1/3 of the source files! The job requires too much effort! I finally have to quit because I know it's impossible to do the job myself without help from other people. But I saw near no one interested so I deleted the eclipse workspace and took a rest!
I wanted to know how the Qt5 binding was made. He should use a tool like Swig to generate it. If he did it himself without any tool he is indeed superman! That I see very likely, as the code generated by Swig would not as clean as that. If it's doing by hand how could we keep up with changes made by newer Qt5 release? I tried to compile this library with Qt 5.11 on my system and failed. Qmake doesn't know the x11extras module and I myself can't found the x11info header on my system. It seemed Qt 5.11 has removed them. But I still found the x11info header on CopperSpice.
p/s: It's interesting. I found CopperSpice has no QPrintSupport library but indeed they keep the QAbstractPrintDialog (if I recall correctly) on the QtGui header and when we link with CsGui we do not need QPrintSupport library anymore. Porting to CopperSpice is completely possible if we have people cooperate with each other. It's not as impossible as it might seems at all!