Boost logo

Boost-Build :

Subject: Re: [Boost-build] Use BB to generate visual studio projects?
From: Vladimir Prus (ghost_at_[hidden])
Date: 2010-04-19 13:11:20


On Monday 19 April 2010 19:29:42 Christian Holmquist wrote:

> On 17 April 2010 02:42, Vladimir Prus <ghost_at_[hidden]> 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.

That's why I suggest integration with IDE using a proper plugin. That way:

- All of state of build system can be kept in memory, so change in one
  file can immediately generate the necessary updates
- Build system can report back the flags used for any given cpp, making
  code completion work reliably.

Thanks,

--
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk