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 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 <b...@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.br...@gmail.com> > wrote: > >> On Tue, Aug 11, 2020 at 11:51 AM Mats Wichmann <m...@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] >> }, >> >> } >> >> >> >
_______________________________________________ Scons-dev mailing list Scons-dev@scons.org https://pairlist2.pair.net/mailman/listinfo/scons-dev