Skip to content
Denis Zdorovtsov edited this page May 30, 2017 · 9 revisions

The FlappyTools is a project generator. And the main purpose of a project generator is producing of projects for different platforms, IDE's and build environments to allow easy cross-platform build of a source base. The FlappyTools are developed as a part of FlappyEngine project, but it's independent from FlappyEngine and can be used in other applications.

In base of FlappyTools lies idea of templates. The first version of FlappyTools already contains variety of template projects for different platforms. Once you have written C++ code for one platform, you can order FlappyTools generate projects for another platform and your source files will be automatically attached to projects for Android Studio, XCode, Visual Studio and so on. Of course, there is not any magic behind this. You still should consider which compilers will be used for compilation of your code and other factors. However, mechanism of project generation can ease your live, freeing your hands of manual management of several projects.

About references and similar mechanisms. So, you can look at any other game engine (Unity3d, Unreal, etc.) , usually they allows you choose for which platform build the project. But, usually you can't add desired platform for building, FlappyTools resolves this problem, you can easily create your own templates for whichever platform you want. Also you can modify existing templates. Whole mechanism of generation is designed to be clear, simple and flexible.

State of the project

About current state of the project. So, as you can see, it's "second" number in the project name. Actually, it's second implementation of the idea. First version was implemented using python, it actually can compile project for different platforms, including iOS, Android, emscripten (Web), Qt and CMake. First implementation proofs the idea described above. But, current project now supports only CMake building. In closest future I have no plans to extend number of supported platforms because all this stuff requires support and free time which I haven't right now. The main purpose of FlappyTools on current step is building of unit tests for FlappyEngine.

Other applications of generator

About other applications of the generator. I'll tell a short story about possible using of the generator. One year ago I worked as a system programmer. I had just finished the university and it was my first work. I wrote firmware for welding, balancing and press machines. I needed to debug all this firmwares and it was better for safety and speed do all debugging in "simulator". The idea was make the most of program cross-platform, write software simulators for all devices like LCD displays, motors, etc.. Thus, I had two projects Qt and Eclipse project, the most of work was made in Qt, and only final debugging and testing was made using in-chip debugging. I needed constantly support both projects and even this took big part of my work time. It was match more convenient make this tasks automatically and seems, FlappyTools would well fit for this purpose.

Clone this wiki locally