Re: MSVC 2017+ Toolset Support

Joseph Brill <[email protected]> Tue, 11 Aug 2020 12:25:11 -0400
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CAJLrGP2JNY3mx_Yjt=S5t6Yy8YCwVxohhBZbVjCJbd6Hi_W=7A@mail.gmail.com>
--===============5472811560919957925==
Content-Type: multipart/alternative; boundary="00000000000070fc1805ac9c820f"

--00000000000070fc1805ac9c820f
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 11, 2020 at 11:51 AM Mats Wichmann <[email protected]> wrote:

> To throw another spanner into the works, there are Visual Studio product
> codes too, which are 16.X for 2019, 15.x for 2017 and 14.0 for 2015...
>

Nothing is straightforward with the microsoft version numbers.

A mapping was necessary from the vswhere query results containing the MSVS
version to the MSVC version number.  The explicitly supported component ids
are listed by product as there are a quite a few component ids in which we
are not interested.  And yes, one of the components that we are
not-interested in caused a previous version to fail.

And it looks like I have a typographical error to fix as well...

# Vswhere query elements (reverse dictionaries computed during
intialization)#     MSVS_MAJOR: MSVS installationVersion.split('.')[0]
<-> to _VCVER#     Products: expected product components returned in
vswhere query
_MSVC_PRODUCTVERSION_COMPONENTIDS = {
    '14.2': {
        'MSVS_MAJOR' : '16',
        'Products'   : ['Enterprise', 'Professional', 'Community', 'BuildTools']
        },
    '14.1': {
        'MSVS_MAJOR' : '15',
        'Products'   : ['Enterprise', 'Professional', 'Community',
'BuildTools', _MSVC_COMPONENT_EXPRESS]
        },

}

--00000000000070fc1805ac9c820f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Tue, Aug 11, 2020 at 11:51 AM Mats Wic=
hmann &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wrot=
e:<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">To throw another spanner into the works, there are Visual Stu=
dio product<br>
codes too, which are 16.X for 2019, 15.x for 2017 and 14.0 for 2015...<br><=
/blockquote><div><br></div><div>Nothing is straightforward with the microso=
ft version numbers.</div><div><br></div><div>A mapping was necessary from t=
he vswhere=C2=A0query results containing the MSVS version to the MSVC versi=
on number.=C2=A0 The explicitly supported component ids are listed by produ=
ct as there are a quite a few component ids in which we are not interested.=
=C2=A0 And yes, one of the=C2=A0components that we are not-interested in ca=
used a previous=C2=A0version to fail.<br></div><div><br></div><div>And it l=
ooks like I have a typographical error to fix as well...</div><div style=3D=
"font-family:Consolas;font-size:10pt;color:rgb(0,0,0)">
<pre><span style=3D"color:rgb(0,128,0);font-style:italic"># Vswhere query e=
lements (reverse dictionaries computed during intialization)</span>
<span style=3D"color:rgb(0,128,0);font-style:italic">#     MSVS_MAJOR: MSVS=
 installationVersion.split(&#39;.&#39;)[0] &lt;-&gt; to _VCVER</span>
<span style=3D"color:rgb(0,128,0);font-style:italic">#     Products: expect=
ed product components returned in vswhere query</span>
_MSVC_PRODUCTVERSION_COMPONENTIDS <span style=3D"color:rgb(128,0,0)">=3D</s=
pan> <span style=3D"color:rgb(128,0,0)">{</span>
    <span style=3D"color:rgb(0,96,96)">&#39;14.2&#39;</span><span style=3D"=
color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">{</span>
        <span style=3D"color:rgb(0,96,96)">&#39;MSVS_MAJOR&#39;</span> <spa=
n style=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(0,96,96)">=
&#39;16&#39;</span><span style=3D"color:rgb(128,0,0)">,</span>=20
        <span style=3D"color:rgb(0,96,96)">&#39;Products&#39;</span>   <spa=
n style=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">=
[</span><span style=3D"color:rgb(0,96,96)">&#39;Enterprise&#39;</span><span=
 style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,96,96)">&=
#39;Professional&#39;</span><span style=3D"color:rgb(128,0,0)">,</span> <sp=
an style=3D"color:rgb(0,96,96)">&#39;Community&#39;</span><span style=3D"co=
lor:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,96,96)">&#39;BuildToo=
ls&#39;</span><span style=3D"color:rgb(128,0,0)">]</span>
        <span style=3D"color:rgb(128,0,0)">},</span>
    <span style=3D"color:rgb(0,96,96)">&#39;14.1&#39;</span><span style=3D"=
color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">{</span>=20
        <span style=3D"color:rgb(0,96,96)">&#39;MSVS_MAJOR&#39;</span> <spa=
n style=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(0,96,96)">=
&#39;15&#39;</span><span style=3D"color:rgb(128,0,0)">,</span>
        <span style=3D"color:rgb(0,96,96)">&#39;Products&#39;</span>   <spa=
n style=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">=
[</span><span style=3D"color:rgb(0,96,96)">&#39;Enterprise&#39;</span><span=
 style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,96,96)">&=
#39;Professional&#39;</span><span style=3D"color:rgb(128,0,0)">,</span> <sp=
an style=3D"color:rgb(0,96,96)">&#39;Community&#39;</span><span style=3D"co=
lor:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,96,96)">&#39;BuildToo=
ls&#39;</span><span style=3D"color:rgb(128,0,0)">,</span> _MSVC_COMPONENT_E=
XPRESS<span style=3D"color:rgb(128,0,0)">]</span>
        <span style=3D"color:rgb(128,0,0)">},</span>=C2=A0</pre></div><div>=
<span style=3D"color:rgb(128,0,0);font-family:Consolas;font-size:10pt">}</s=
pan></div><div><br></div><div>=C2=A0</div></div></div>

--00000000000070fc1805ac9c820f--

--===============5472811560919957925==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev

--===============5472811560919957925==--