Boost logo

Boost :

Subject: Re: [boost] [predef] Using predef-require with OR conditions
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-05-03 22:41:47


On 5/3/2015 9:29 PM, Rene Rivera wrote:
> On Sun, May 3, 2015 at 4:55 PM, Edward Diener <eldiener_at_[hidden]>
> wrote:
>
>> In a jamfile I would like to use predef-require in OR situatuations so
>> that if any particular predef-definition is true my unit testing rule
>> occurs, else it does not occur:
>>
>> import ../libs/predef/check/predef : require : predef-require ;
>>
>> run some_test.cpp : : : BOOST_COMP_SOME_COMPILER >= n.n.n ||
>> other_predef_definiion ;
>>
>> The typical use case for this is to have a unit test for particular
>> version(s) of a compiler or for all other versions of other compilers.
>>
>> Is this possible ?
>>
>
> It is possible, and it came up when I first introduced the feature, with
> some basic De Morgan's application:
>
> run some_test.cpp : : : [ predef-require "BOOST_COMP_SOME_COMPILER < n.n.n"
> "other_predef_def_negated" ] ;

I do not see how this can work. Let's say I want to run some_test.cpp
when either BOOST_COMP_SOME_COMPILER is version n.n.n or above OR when
BOOST_COMP_SOME_COMPILER is not being used at all, ie.
BOOST_COMP_SOME_COMPILER is equal to 0. How can that be done ?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk