[Gambas-devel] What about cmake?

Benoît Minisini gambas at ...1...
Fri Oct 11 20:58:52 CEST 2013


Le 07/10/2013 23:17, Sebastian Kulesz a écrit :
> Here is a a source archive with the previously mentioned components
> migrated [0], I don't want to mess up with the svn repository without
> knowing, and a diff is not feasible. Installing is not possible ATM, you
> will only get to compile a limited set of components. These are a few of
> the things i can think of that still need some work (besides moving the
> rest of the tree):
>
> - Create a macro to run the informer after component installation
> - Create a macro to compile and install gambas components
> - Move preprocesor macros to the root CMakeLists, some are yet hardcoded.
> - Create a dependency tree between components. If one is enabled, every
> parent must be enabled.
> - Correctly configure the CMake packager to enable the installation of
> libraries and binares.
>
> The good thing about CMake is that with a simple make package you end up
> having a deb, rpm, or whatever you want. It avoids the trouble to
> package the enormous list of components for each distribution (Debian
> and Ubuntu users would greatly benefit from this).
>
> We have yet to hear about Benoît's input. What do you think?
>
> PS: gb.qt4.ext is failing due to a missing include directive. I will fix
> it when i have enough time to finish the whole qt4 component.
>
> [0] http://goo.gl/DtVvwg (Google drive)
>

It's a very good idea to use cmake instead of autoconf. But you have to 
implement the configuration / compilation & installation process 
entirely, otherwise it will be useless!

A few questions:

How is the 'config.h' file and all its custom constants generated?

How can you add version requirements on libraries?

How can you write a custom installation process to implement the 
equivalent of the Gambas "make install" that:
- installs the core of Gambas first,
- installs binary components,
- compiles all components (or component parts) written in Gambas,
- calls 'gbi3' to regenerate the information files each time a component 
has been compiled,
- compiles and installs all the examples, the IDE and eventually other 
Gambas 3 applications provided with the sources?

-- 
Benoît Minisini




More information about the Devel mailing list