Boost logo

Boost-Build :

Subject: Re: [Boost-build] Visual Studio always calls bjam even on built projects
From: Bojan Resnik (resnikb_at_[hidden])
Date: 2009-11-28 05:02:56

> - solution know nothing about project structure
>  To navigate through sources you have to add source list manually to visual studio project (to add/remove a source we have to do it twice for a project and a jamfile)

  I usually don't list source files in jamfile, but use [ *.cpp ] to
have it use all cpp files. In that case, when I delete the file from
disk (either through VS or manually), i don't need to update the

> - solution know nothing about project dependencies
>  In visual studio project I cannot see projects that influence my project and navigate through them

  If I need other projects - I add them to the solution. I never build
the whole solution, instead my VS is set up to build only the current
project. Another option is to disable building these projects in the
Configuration Manager.

> - solution know nothing about macro definitions
>  The modern studio can "grayed" code with conditional compilation which does not meet preprocessor conditions. To do it the studio must have all macro definitions. As a result we have to copy all marco definitions from jamfile to studio project (to add/remove marco denition we have to do it twice).

  I don't do this - actually, I don't like VS graying out code it
thinks will not be used. When code is grayed out I am more likely to
skip it when visually inspecting the file.

> - solution know nothing about search path for include and library files
>  To navigate through sources I have to set search paths manually for my libraries from dependency list.

 There is an option in the makefile project properties where it allows
you to set the include directories. I usually need only a few
directories here so this doesn't bother me much.

> In jamfile there are all needed information, but there is no way to extract it automaticly. It would be perfect if bjam will be able to generate native studio solutions. I vote for such feature.

  For rather simple jamfiles, this could be possible. However, I don't
use bjam for stuff that VS itself can handle easily. I use it for
projects which need to compile with different compilers at the same
time, or those that need to detect user's settings at build time and
select different compiler options based on that information. The value
of bjam for me is precisely because it can handle stuff that
VisualStudio cannot handle by itself.

Bojan Resnik

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at