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:23:27


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

and in future

# define BOOST_LIB_TOOLSET "vcXYZ" // VS2017 + $(PlatformToolsetVersion) XYZ

Quoting STL:
"The toolset is versioned (according to the IDE) as v141 while the
compiler is versioned at 19.1, but we consider them to be the same
thing, really."

Boost toolset names should keep deriving directly from $(PlatformToolsetVersion)

Unless, I'm missing something, am I?

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