Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-25 16:57:06

"Reece Dunn" <msclrhd_at_[hidden]> writes:

> Russell Hind wrote:
>>Paul A Bristow wrote:
>>>If you share my concern, would some someone like to prepare something?
>>>Or at least provide details of their way of doing it.
>>>I will be willing to help with checking/editing.
>> I'd like to see IDE projects for bosot (e.g. BCB6, VS.Net etc).
>> That would make things a lot, lot nicer. I did do this for
>> C++BuilderX, but only for the specific parts I required, and not for
>> all the possible combinations of static/dynamic runtimes,
>> dlls/static libs, thread/non-threaded.
>> I'll see if I can get something for BCB6 together, but I think it
>> will take a while as fairly swamped at work at the moment.
> What would be better is a way to auto-generate IDE projects from the jam
> files. That way you don't need to specify VC6, VC7, VC71, VC8, BCB5, BCB6,
> CodeWarrior, Eclipse, insert-your-favorite-IDE-here project files for all
> the examples, libraries, etc.

It's always been my intention that we do something like that, but of
course... we need someone to do it! Care to volunteer? The C++ world
will thank you!

> Ideally, there should be a single program that could process jam
> files (an extension of bjam?) that can accept a template file that
> tells it how the project file(s) should be structured.

Yeah, it would have to be part of Boost.Build. I don't even think of
it as an extension. Terminology nit: Talking about making it an
extension of bjam is a bit weird. bjam is an interpreter with a few
built-in primitives for making build systems. Boost.Build (along with
your Jamfiles) is a program, essentially, that implements a build system.

> This would then allow something like:
> genide libs/program_options/examples msvc-7.1

bjam msvc-7.1 project-file

> which would generate the project files for the specified project.
> Alternatively, there could be plugins written to hook into the various IDEs
> that will import a bjam project in a friendly GUI way. (This might call the
> command-line utility so people who prefer command-line or GUI can take their
> pick.)

Unless it is actually executing bjam to build the project, it is
unlikely to work right. There's too much possible variability in
Jamfiles, since they are essentially program fragments.

> Perhapse what is also needed is a friendly GUI that allows you to
> configure bjam/BBv2 and create new projects. This infrastructure
> could hook into your favorite IDE (Eclipse, VS, BCB) so you could
> edit build and run the jam files from inside the IDE without
> touching the command line. This would go a long way to increasing
> the appeal of Boost to a RAD/GUI developer. It should also be
> possible to edit the project (jam) files directly and have control
> over their formatting.

You will also need that capability because your GUI won't be
able to capture all the possible variability in Jamfiles otherwise.

> Summing up, there would be a GUI-based:
> * setup/configuration of Boost;
> * project creation wizards to create BBv2 projects;
> * conversion tool to convert to your favorite IDE format;
> * hook-ins to allow BBv2 projects to be managed in your favorite IDE.

Not bad. Care to take up the challenge?

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at