[Gambas-devel] What about cmake?
Sebastian Kulesz
sebikul at ...176...
Sun Oct 13 19:10:22 CEST 2013
---------- Forwarded message ----------
From: "Sebastian Kulesz" <sebikul at ...176...>
Date: Oct 13, 2013 1:03 PM
Subject: Re: [Gambas-devel] What about cmake?
To: "Benoît Minisini" <gambas at ...1...>
Cc:
Here [0] is an updated package (not up to date with trunk). Most of the
tree is now ported to cmake, i'm missing a few components which i had some
trouble building or finding the libraries they depend on. The code is much
cleaner now, i removed A LOT of files and symlinks. Cmake simplified a lot
the include directives.
I need some info about the installation process for the binary components.
If possible, the exact steps autoconf executes when doing a make install in
every component.
I'm also having a build error with gbx about an existing symbol with a
different declaration which is causing an error.
I had to move, remove and change a lot of files. Please test it in your
system an let me know if you find a bug. As before, installation is not yet
implemented.
Hope you mine it!
[0] http://goo.gl/1rBMhS
Le 12/10/2013 07:50, Sebastian Kulesz a écrit :
>
>
>
> On Fri, Oct 11, 2013 at 3:58 PM, Benoît Minisini
> <gambas at ...1... <mailto:gambas at ...729...**sourceforge.net<gambas at ...1...>>>
> wrote:
>
> 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?
>
>
> You define them in the root CMakeLists.txt or any other included before
> the CONFIGURE_FILE macro is called. Right now i just wrote them so it
> would compile. I'm not sure if they are defined as they should be,
> mostly the platform specific constants.
>
>
> How can you add version requirements on libraries?
>
>
> Depends how the library is detected. Most libraries have custom macros
> implemented to detect them, in this case it's just a >= game. Otherwise
> you can use pkg-tool.
>
>
> 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?
>
>
> It's not hard actually, the only thing is that it takes a lot of time to
> move from one system to another. The runtime is almost done. I'm stuck
> with a compilation error about already declared symbols, but i will get
> into that once i finish the rest.
>
> I'm in the process of porting the binary components, writing all the
> rules to detect libraries, disable them with flags, etc.
> I haven't touched the gambas components yet.
>
>
> I will send an updated package this weekend!
>
>
>
I can't wait for a Gambas source package fully based on cmake! autoconf is
*so* slow!!! :-€
--
Benoît Minisini
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20131013/87f59cc6/attachment.html>
More information about the Devel
mailing list