Boost logo

Boost Users :

From: Ames, Andreas (Andreas) (ames_at_[hidden])
Date: 2007-07-30 06:47:05


Hi all,

as most of my colleagues insist on using Visual Studio, I have made a
vcproj-wrapper around Boost.Build v1 for 1.33.1. The Jamfile looks
like this:

<Jamfile>
project-root ;

BOOST_LOCAL_STAGE_DIR ?= stage ;

rule Pseudo ( target : libname : kind : variant : name_prefix ? )
{
        LIBNAME = $(libname) ;
        LIBKIND = $(kind) ;
        VARIANT = $(variant) ;
        REALNAME = $(name_prefix)$(LIBNAME) ;
        REALNAME ?= $(LIBNAME) ;
        NOTFILE $(target) ;
        DEPENDS $(target) : $(BOOST_LOCAL_STAGE_DIR)/$(LIBKIND)/$(LIBNAME)/$(VARIANT) ;
        stage $(BOOST_LOCAL_STAGE_DIR)/$(LIBKIND)/$(LIBNAME)/$(VARIANT)
              :
                  <$(LIBKIND)>@boost/libs/$(LIBNAME)/build/boost_$(REALNAME)
              :
                  <sysinclude>../../../boost
                  <debug-symbols>on
                  <debug-store>database
                  <runtime-build>$(VARIANT)
                  <runtime-link>dynamic
                  <native-wchar_t>on
              :
                  $(VARIANT)
              ;
}

Pseudo signals_lib_debug
   : signals
   : lib
   : debug
   ;

Pseudo signals_lib_release
   : signals
   : lib
   : release
   ;
</Jamfile>

Furthermore I've created a Jamrules and a boost-build.jam like
follows:

<Jamrules>
project boost : ../../../boost ;
</Jamrules>

<boost-build.jam>
boost-build ../../../boost/tools/build/v1 ;
</boost-build.jam>

From my vcproj-files I can then just invoke bjam with the appropriate
target and TOOLS-spec.

1) Unfortunately this doesn't work any longer with Boost.Build v2.
   After changing boost-build.jam in the obvious way, I just get bjam
   to display:

   error: Could not find parent for project at '.'
   error: Did not find Jamfile or project-root.jam in any parent directory.

   although the Jamfile is definitely there. The same thing happens,
   when I change the name to Jamfile.v2.

2) Skimming over the docs, I don't see Jamrules (which was previously
   needed) mentioned. Is it still necessary?

3) Finally, the build wrapper needs to be selfcontained (we get it
   from our repository), so site-config.jam and user-config.jam must
   not be mandatory. I just wonder, where to specify my 'using'
   rule(s) (like 'using msvc : 8.0 ;').


TIA,

aa

--
Andreas Ames | Programmer | Comergo GmbH | ames AT avaya DOT com

Sitz der Gesellschaft: Stuttgart
Registergericht: Amtsgericht Stuttgart - HRB 22107
Geschäftsführer: Andreas von Meyer zu Knonow, Udo Bühler, Thomas Kreikemeier
 


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net