Wiki

Clone wiki

autoRealm / Development

development

Compilation

Currently, there are no build system for Visual Studio, Make or CMake because I do not use those tools. Instead, I use CodeBlocks to develop. If you want to compile from command line, codeblocks can do that, just look on their website to know how.

If you want to have another building system, just send me the file you want I add.

Dependencies

Before using an external library as a dependency, I ask myself some questions: 1) is it portable? 2) is it simple to use? If one of the answers is "no", the library is not used. At the moment, dependencies used are:

  • WxWidgets 2.9 => used to implement the user interface. But it will be limited to the interface: no use of save/writing configuration, wxString and other stuff.
  • OpenGL => rendering stuff. WxWidgets could have do that, but I never seen an application written with WxWidgets, Qt, or another GUI framework render complex things without bugs. And openGL is just faster and made for those kinds of things.
  • Pluma-framework => used to implement a simple plug-in engine.
  • boost::filesystem => used to find and parse configuration system (because it is a system based on files and directories)

Structure

The program is divided into multiple modules:

  • autorealm => Instantiate render engines, plug-ins and menu engine. Load plug-ins. Associate plug-ins to their menu entries. Dependencies: pluginEngine, renderEngine, menuEngine, wxWidgets, openGL, boost::filesystem.
  • pluginEngine => plug-in's ancestor. Dependence: renderEngine, wxWidgets.
  • renderEngine => Dependence: openGL.
  • menuEngine => build the menu-bar from configuration. Will probably also build tool-bars. Dependence: pluginEngine, boost::filesystem, wxWidgets.
  • various plug-ins => each tool, or functionality will be implemented as a plug-in. They should only need pluginEngine to be compiled.

Updated