Boost logo

Boost :

Subject: Re: [boost] [release] 1.64.0 please test master snapshot..
From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2017-03-18 12:53:30


On 18 March 2017 at 13:23, Mateusz Loskot <mateusz_at_[hidden]> wrote:
> On 18 March 2017 at 04:06, Tom Kent via Boost <boost_at_[hidden]> wrote:
>> On Fri, Mar 17, 2017 at 7:29 AM, Mateusz Loskot via Boost <boost_at_[hidden]> wrote:
>>> On 17 March 2017 at 09:10, Olaf van der Spek via Boost<boost_at_[hidden]> wrote:
>>> >
>>> > Where is 14.10 coming from?
>>>
>>> NMAKE build utility, perhaps?
>>>
>>> VS2017 is shipped with NMAKE.EXE /?
>>> Microsoft (R) Program Maintenance Utility Version 14.10.25017.0
>>
>>
>> I went through VS2017 and VS2015 to compare the macros that are available,
>> here's what I found:
>>
>> $(PlatformToolsetVersion) 141
>> $(VCToolsVersion) 14.10.25017
>> $(VisualStudioVersion) 15.0
>> [...]
>> $(PlatformToolsetVersion) 140
>> $(VCToolsVersion) N/A
>> $(VisualStudioVersion) 14.0
>
> To those above, adding versions from Visual Studio 2012, for example:
>
> $(PlatformToolsetVersion) 110
> $(VCToolsVersion) N/A
> $(VisualStudioVersion) 11.0
>
> Now, we can not rely on:
> $(VCToolsVersion) - it is not defined for every VS toolset
> $(VisualStudioVersion) - from 15.0 or above, it no longer maps 1:1
> with $(PlatformToolsetVersion)
>
>
> AFAIS, BOOST_LIB_TOOLSET is based on "vc" + $(PlatformToolsetVersion)
>
> # define BOOST_LIB_TOOLSET "vc110"
> # define BOOST_LIB_TOOLSET "vc140"
>
> Then, for Visual Studio 2017 case, the macro should resolve to
>
> # define BOOST_LIB_TOOLSET "vc140" // VS2017 + $(PlatformToolsetVersion) 140
> # define BOOST_LIB_TOOLSET "vc141" // VS2017 + $(PlatformToolsetVersion) 141

Obviously, case of VS2015 (which always builds with v140),
would be the same as VS2017 + $(PlatformToolsetVersion)

# define BOOST_LIB_TOOLSET "vc140" // VS2015 + $(PlatformToolsetVersion) 140

Best regards,

-- 
Mateusz Loskot, http://mateusz.loskot.net

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