[Scons-dev] MSVC 2017+ Toolset Support

Jason Kenny dragon512 at live.com
Tue Aug 11 22:52:03 EDT 2020


Just to chime in.. my understanding of the vc compiler is that it is the same for all these cases. The community, profession and enterprise is about extra paid features of the IDE. While these are all side by side installable.. the code you build, as I understand, is the same. For me at least I don’t see what value exists yet in selecting license level values of the MSVS

Jason

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Joseph Brill<mailto:joseph.c.brill at gmail.com>
Sent: Tuesday, August 11, 2020 1:55 PM
To: Bill Deegan<mailto:bill at baddogconsulting.com>
Cc: SCons developer list<mailto:scons-dev at scons.org>
Subject: Re: [Scons-dev] MSVC 2017+ Toolset Support

The was a previous iteration that allowed MSVC_VERSION to contain a toolset and added a MSVC_PRODUCT variable that could contain a product specification and optional component type.

This was described in: https://github.com/SCons/scons/issues/3664#issuecomment-643782430<https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSCons%2Fscons%2Fissues%2F3664%23issuecomment-643782430&data=02%7C01%7C%7C0c91771b51e348310f4908d83e2826ba%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637327689453041815&sdata=2ZkIEEHXd9IK%2FgJV0HUmYnzmciAjj5FxUvI5TDtvuF0%3D&reserved=0>

Unfortunately, this predates the code being added to version control as it was a proof-of-concept that evolved fairly rapidly.

On Tue, Aug 11, 2020 at 2:06 PM Bill Deegan <bill at baddogconsulting.com<mailto:bill at baddogconsulting.com>> wrote:
To be clear, I'm not in favor of your proposed MSVC_VERSION regex interpretation, so let's table any discussion of that as it's not relevant to figuring out how to properly select a version of MSVC and toolset and product type.

Am I grossly mistaken, or would separate variables as I've proposed above also allow specifying as explicitly as the single string which needs to be regex'd?


On Tue, Aug 11, 2020 at 9:24 AM Joseph Brill <joseph.c.brill at gmail.com<mailto:joseph.c.brill at gmail.com>> wrote:
On Tue, Aug 11, 2020 at 11:51 AM Mats Wichmann <mats at wichmann.us<mailto:mats at wichmann.us>> 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]

        },
}



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20200812/49d3c7da/attachment-0001.html>


More information about the Scons-dev mailing list