Subject: Re: [boost] [test]portability of data test cases and build issues
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2012-11-05 07:00:16


Vicente J. Botet Escriba <vicente.botet <at> wanadoo.fr> writes:
> I use to do the following without any issue
> [ run ../example/a_test.cpp ]

I already do something like this (in my case [ glob test_datasets/*.cpp ], but
if target name is thew same as directory name it will fail to build on linux.

> > 2. How do I tell that I want to pass compilation to gcc in toolset
> > gcc-4.7 only?
> > I've tried
> > <toolset>gcc-4.7:<cxxflags>-std=c++11
> > and
> > <toolset>gcc-4.7.2:<cxxflags>-std=c++11
> > and either one does not work.
> >
> > <toolset>gcc:<cxxflags>-std=c++11 does work, but I want to pass
> > different options for different versions of gcc.
> Wow, I'm really surprised you have troubles with this. You need to
> define your toolsets in the user_config.jam file. I have for example
>
> using gcc : 4.7.1 : /usr/gcc-4.7.1/bin/g++-4.7 ;
> using gcc : 4.7.1x : /usr/gcc-4.7.1/bin/g++-4.7 : <cxxflags>-std="c++11" ;
>
> Someone has been requesting the addition of a 'std' feature that gives
> the standard, but I don't think this has been implemented or even retained.

Why do I need to introduce new toolsets? toolset gcc, gcc-4.7, gcc-4.6 already
works fine. Moreover the main point is to make it work on regression tester box,
not mine. I need to eliminate failures in regression table. I want to pass std
option (different one) to compilers which support it and ignore test on
compilers which do not have it. I can probably get the same result by ifdefing
the code, but I'd rather have it marked unsupported in regression table instead
of fake pass.

Gennadiy