[Geany] Generalisation of build system

Nick Treleaven nick.treleaven at xxxxx
Thu Oct 2 16:35:28 UTC 2008


On Thu, 2 Oct 2008 17:25:13 +1000
"Lex Trotman" <elextr at gmail.com> wrote:

> Hi,
> 
> We use several different build systems and need the build system
> interface to be generalised somewhat.  We use Jam, Waf, Scons make
> and others because we combine code from lots of sources.  Although we
> can change the commands there are still some hard coded bits that
> cause problems, eg some builders don't have all targets so make all
> menu action confuses them and one product uses a pre-processor before
> the C++ compiler and it  doesn't like the -o option so we can't use
> the compile menu item.

First, for non-trivial projects we suggest using Makefiles. The project
'Make in base path' setting with a master Makefile will work for
building everything. It sounds like the main problem after that would be
getting the Make Object command to work for folders with no Makefile.

> I am willing to have a hack at the changes (provided time and ability
> permit) but it seemed sensible to check what is in progress or others
> are doing.

Sounds good, I think there is room for improvement in the build
commands. But I think this will require a lot of discussion on this ML
before we can agree on what should be done.

> The suggestions are:
> 
> 1. make all the compile/link/build commands project specific, or from
> global settings if not defined for project

Certainly project-specific make commands would be useful.

The compile & build commands are intended as simple commands. But maybe
this is confusing to have these two different ways for building.

...
> 3. replace the build menu 'make all' and 'make target' with one
> 'build ->' with a submenu listing the available targets configurable
> from a dialog

We don't want to replace an easy to find Make All item, but there is
a similar item on the TODO list. There could be a list of recent custom
targets remembered and shown in a submenu.

...
> 5. (optional time permitting) have a set of templates which provide
> common setups and which can be selected at project creation

This shouldn't be in the core of Geany. Configuring build commands is a
useful and generic feature, but templates for building certain projects
is not really part of the Geany philosophy. It could be done in a
plugin though.

Regards,
Nick



More information about the Users mailing list