On 17 April 2010 02:42, Vladimir Prus <ghost@cs.msu.su> wrote:
Konstantin Litvinenko wrote:
Christian Holmquist пишет:

Has anyone done any work on such a thing, to generate a vc project file
that corresponds to what actually gets built from a Jamfile, would it
even be possible?

 As I know there is no such thing and no one working on it.
 I think it is possible to do such generator for BB, but some time ago I was not able to develop it, due to lack of understanding of overall design. Even now, when I build BB-like clone in pure C++ and know how design works, I doubt to be able to write MSVC project generator for BB. May be when PythonBB will arrive somebody write one...

Any ideas on where to start if I wanted to hack on such a thing? I'm not
too familiar with BB, but I'd be willing to study it a bit if you think
there's a solution within reach =)

 If you *really* need MSVC project files than CMake may be alternative.
 Or you may to try my project Hammer - its very close to BBv2 syntax/design and capable to produce MSVC 2005 project files. If you interested email me :).

It seems to me that a better approach would be to create Boost.Build add-in for
Visual Studio, so that you can actually interact with Boost.Build project
description, as opposed to just building things.


One of the reasons for using the IDE, is that it's significantly faster to compile with. Running bjam on a project (even with only one .cpp test file) which depends on a couple of compiled boost libs (serialization, thread, system), takes very, very long time. I'm probably doing something wrong, and I actually wonder how people work with bjam in practice. To me, it spends too much time in dependency analysis.
Another reason for the IDE to know about all my files involved, is to allow other crucial tools such as Incredibuild and Visual Assist to do their work. Without them, my efficiency is about zero nowadays.

Here's what would be optimal to me
1) BB always contains the 'master' project, there are no visible vcproj files in the SCM.
2) When about to work on some project, generate the vcproj files for that project, and optionally for all projects (that needs compilation) it depends on.
3) When done, submit cpp, hpp and jam files, and throw away the vcproj files.

(I looked briefly at CMake btw, but it didn't look anyway near as compact as BB)

/ Christian