Re: wxEuphoria with wxWidgets 3.0
- Posted by ghaberek (admin) Dec 03, 2013
- 2253 views
mattlewis said...
I cloned the repo. How do you build it? There is no readme or makefile or anything I recognize. Looks like some IDE artifacts (?) are in there.
You'll see .workspace and .project files, which are for CodeLite. It's a pretty nice cross-platform IDE for C++.
The overall goals are as follows:
- Statically link each wxWidgets library into a wxEuphoria shared library (done).
Note:- The base library is also statically linked to all of the support libraries, like wxjpeg, etc.
- Except for wxscintilla, which is statically linked to the stc library.
- The base library is also statically linked to all of the support libraries, like wxjpeg, etc.
- Link the shared libraries together as necessary (done).
- Create a EuApp class to do all the standard wxEuphoria app stuff (todo).
- Add the necessary callbacks for event handlers (todo).
- Wrap everything by class into separate files arranged by namespace (big todo here).
- Wrap a few things from wxCode like wxSQLite3 and wxJSON (todo).
I started to put together a "builder" project as well, which is basically a specialized IDE for wrapping everything.
The goals here are as follows:
- Read into the XML files generated by Doxygen from the interface directory and output a tree list of include files and their classes, members, etc.
- Selecting a class or member provides a detail of the C++ code (both "header" and "code" sections) and then an empty code box for the Euphoria linking (define_c_func/proc/var) and wrapper code.
Note:
- These code boxes could probably be wxStyledTextCtrl boxes. I've had good luck building Mike Duffy's Scintilla Edit Control files into the wxStyledTextControl wrapper code. I'll see if I can dig out that code, but the changes to make it work are pretty minimal.
- These code boxes could probably be wxStyledTextCtrl boxes. I've had good luck building Mike Duffy's Scintilla Edit Control files into the wxStyledTextControl wrapper code. I'll see if I can dig out that code, but the changes to make it work are pretty minimal.
- All of this wrapper data should probably be stored in a database (wxSQLite3) and then generate the relevant code and project files for CodeLite
- Open the generated files in CodeLite and build the libraries. CodeLite can also export standard Makefiles.
All of this should be built with MinGW (actually TDM-GCC) on Windows and GCC on Linux or Mac. I still need to obtain an Intel-based Mac for development and testing.
-Greg