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
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk