Author Topic: Codeblocks ported to sqrat  (Read 27234 times)

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Codeblocks ported to sqrat
« Reply #45 on: August 22, 2014, 11:05:03 am »
You miss wxpropgrid from the link-libraries in the linux project-file.
In sc_plugin.cpp you miss "()" afgter GetName in line 77.

But with all that I get:
Code
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1221: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper::GetLabelEditor()'
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1220: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper::GetEntry(wxString)'
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1219: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper::GetRoot()'
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1218: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper::GetSelectedProperty()'
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1217: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper::Populate(Sqrat::Table)'
/home/jens/codeblocks-build/codeblocks.bluehazzard/src/sdk/scripting/bindings/sq_wx/sq_wx_base_controls.cpp:1215: undefined reference to `ScriptBindings::sq_wx_propgrid_wrapper_constructor(SQVM*)'
as error while linking.

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Codeblocks ported to sqrat
« Reply #46 on: August 22, 2014, 11:19:23 am »
Simple solution:
"sq_wx/sq_wx_propgrid.cpp" is not added to the project.
"sq_wx_propgrid.h" is also not added, but this does (obviously) no harm.

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Codeblocks ported to sqrat
« Reply #47 on: August 22, 2014, 11:33:11 am »
cctest-project also needs to be linked with wxpropgrid now and we get tons of warnings about not handled enum-values in libFinder-plugin.

But besides of that the linux workspace-file seems to compile fine.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 2987
Re: Codeblocks ported to sqrat
« Reply #48 on: August 23, 2014, 04:06:36 pm »
*facepalm* thanks jens.... I thought wxpropgrid is a standard library, so i didn't thought that it wasn't included...

well it is bad that the sdk has a other dependency to a gui component...

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 2987
Re: Codeblocks ported to sqrat
« Reply #49 on: December 15, 2014, 02:17:07 am »
So lets give some update here:
I have worked a lot in the last time, so i hadn't time to write much code, but anyway i have made some improvements:

Now it is possible to make plugins in squirrel. This means no compiling for different platforms, and having problems with binary files. Simply write your plugin in squirrel, your dialogs in xrc files and pack it to a .cbplugin file and distribute it. I will describe the detailed process, like file handling , sometime later (probably tomorrow).

For now you can test the whole thing with a plugin i uploaded on github: https://github.com/bluehazzard/cdSelectiveCompiling . You need only the "SelectiveCompiling.cbplugin" file (it is a zip file). It is a neat plugin that helps you compile large projects. The ui is sh*t, because i have my problems with the xrc file format. I will update it in the next days.
A detailed instruction how to install and use the plugin is in the readme.md file in the repository.

I'm not 100% sure if my c::b version will compile on linux, because there are some changes in sqrat, and i had no time to test it on linux. (if it won't compile try to remove the SCRAT_EXPORT and SCRAT_IMPORT compile options in the "sdk" and "compiler" targets).

[Edit:] On my linux workstation i can compile it, and it runs fine. (from time to time there is a block when i compile, but i can't reproduce it with the debugger)

As always i hope i get some feedback. (and some help with the precompiled header files)

greetings
« Last Edit: December 16, 2014, 12:03:49 am by BlueHazzard »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13438
    • Travis build status
Re: Codeblocks ported to sqrat
« Reply #50 on: December 16, 2014, 12:49:08 am »
[Edit:] On my linux workstation i can compile it, and it runs fine. (from time to time there is a block when i compile, but i can't reproduce it with the debugger)
Next time it happens, please inspect your processes for wx-config/compiler zombies.
There is some strange bug in wxExecute that happens only when cb is started from terminal...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 2987
Re: Codeblocks ported to sqrat
« Reply #51 on: January 23, 2015, 01:42:22 pm »
So some new updates:
The porting is done, and i don't find big bugs anymore.
Big changes since my last update:

The actual branches on my git repo: https://github.com/bluehazzard/codeblocks_sf
  • sq_debugger: You need this branch if you want test the c::b squirrel debugger. I will merge this in "cb_push_candidate" as soon as possible
  • cb_push_candidate: On this branch i try to integrate my code with the trunk of c::b so that i can make a big patch and post it.
  • wx30_push_candidate: On this branch i try to integrate the whole wx30 stuff. This will also be merged (or rebased) on "cb_push_candidate"

I have currently stopped implementing new stuff ( i have tons of ideas, but they have to wait), and started to review code, add documentation and find bugs. As I mentioned earlier in this thread i don't like the current include structure. I try to minimize the dependencies to header files and implement a structure for PHC. On this i could need a lot help, because i have no big experience with  managing include structures.
A other work in process is the testing suite. There are still missing a lot tests, and the xrc test stuff needs a lot cleanup.

So where does i need really help from outside:

My todo for the next few days (or weeks, my time is currently limited)
  • Merge all branches to "cb_push_candidate" and try a rebase to trunk
  • Fix the xrc test (currently they don't work and i have to look into it why. Meanwhile you can test the XRC stuff with this plugin: https://github.com/bluehazzard/cbSelectiveCompiling)
  • Fix a bug where are showed multiple copies of one error message in the scripting error dialog (this is only a cosmetic bug)
  • Complete the test suite (here i can also need some help from "script kiddies" ;) )

After this changes i think the port is ready and all features for a good scripting base are implemented.   If you want my changes we have then to clear how we bring them to trunk (patch or branch or whatever).

I still need testers and bug reports, because now i'm "blind" with my own work flow, i don't find glitches or non intuitive things, so someone from the outside needs to point them to me.

After the merging to trunk i have this todos:
  • Implement the install.xml handling also for binary plugins*) (this is a secondary goal)
  • Add scripting to the debugger (specially events for BREAK and function to add watches and watch values from the script, so that you can implement a recording of changes after a breakpoint, or automate debugging over a script)
  • maybe add wxPanels to the script binding
  • Add more wxControls to the binding (ex. wxGrid)

*) I have added the possibility to run script code before and after a installation / deinstallation of a scripting plugin. This code is specified in the install.xml file (like the mainfest.xml file) You can see a example in the cbSelectiveCompiling plugin installation process (a custom dialog will ask you if you really want to install this plugin).

If you test things, and find bugs, please report them on github or here.
For fast questions i try to stay in the c::b chat and answer them there.

greetings




Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13438
    • Travis build status
Re: Codeblocks ported to sqrat
« Reply #52 on: January 23, 2015, 02:10:45 pm »
After this changes i think the port is ready and all features for a good scripting base are implemented.   If you want my changes we have then to clear how we bring them to trunk (patch or branch or whatever).
I can merge the branch, so all commits will be transferred to svn.
But you have to keep the history linear and also every commit has to have a meaningful commit message.
Also if you want to get credit for your commits you have to append (thanks BlueHazzard) at the end of every commit.
After I do git svn rebase and git svn dcommit, I'll become the author of all commits.

I think, I've started an autotools port of the older version of the branch. So if you're ready just say so and we'll do the porting.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]