Boost logo

Boost :

From: Alexander Grund (alexander.grund_at_[hidden])
Date: 2020-05-18 10:16:46


>>>> As another note on that: I have a test to be run on windows only by
>>>> using:
>>>> <build>no <target-os>windows:<build>yes
>>>>
>>>> This now also breaks BJam as it sees a <build>no by the C++11
>>>> requirements and a <build>yes by the above :(
>>>> No idea how to solve that.
>>
>> This will get ugly here. I have 1 test which must only be build on
>> Windows. ALL tests must only be build in C++11.
>>
>> Hence I would need to decorate _every_ test with the C++11
>> requirement but that 1 test where I need to define a function that
>> checks for the C++11 requirement _and_ if it is on Windows.
>
> The requirements specified for the project are applied to all targets
> in the Jamfile. So you can apply the C++11 requirement to the project
> and the Windows requirement to that one test.
This is what I'm already doing, see above.
The problem is that the project-wide C++11 requirement yields <build>no
while the windows requirement yields <build>yes which causes a conflict
and a hard error in B2:

https://ci.appveyor.com/project/Flamefire/nowide-fr98b/builds/32945388/job/1wgu8f3emnjj6mna

The relevant line is this:
https://github.com/boostorg/nowide/blob/755dbe5255211677eebbe0a3795e44b1afb3ed79/test/Jamfile.v2#L45




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