
"Reece Dunn" <msclrhd@hotmail.com> 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