[Scons-dev] MSVC 2017+ Toolset Support

Joseph Brill joseph.c.brill at gmail.com
Fri Aug 14 11:40:24 EDT 2020


> So to summarize the only (possible) difference between pro,ent,community
> would be in whatever optional and/or updated components were installed for
> each?
>

Yes.  Target architecture differences would likely cause the most grief.

So selecting one over the other would be useful just to use those
> differences (optional/selected tools/components available via the visual
> studio installer).
>

 Yes.  Removing all ambiguity in the presence of multiple products could be
seen as a benefit as well.

Does anyone have pro, enterprise, and community (or more than just one of
> those versions installed) that could do a dump of vswhere output to answer
> the question of ordering?
>

A change could be made to the existing vswhere query so that the order is
deterministic regardless of the order of instances returned from vswhere.

From:

VCVER_TO_VSWHERE_VER = {

    '14.2': [
        ["-version", "[16.0, 17.0)", ], # default: Enterprise,
Professional, Community  (order unpredictable?)
        ["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"], # BuildTools
        ],
    '14.1':    [
        ["-version", "[15.0, 16.0)", ], # default: Enterprise,
Professional, Community (order unpredictable?)
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"], # BuildTools
        ],
    '14.1Exp': [
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.WDExpress"], # Express
        ],}

To:

_VCVER_TO_VSWHERE_VER = {
    '14.2': [
        ["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Enterprise"],
        ["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Professional"],
        ["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Community"],
        ["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"],
        ],
    '14.1':    [
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Enterprise"],
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Professional"],
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Community"],
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"],
        ],
    '14.1Exp': [
        ["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.WDExpress"],
        ],}


Note that vswhere's source code is on github...
>

I had in the original email: I am not motivated enough to read the C++
source code for vswhere :)
Depence on the resolution order can be worked around with the solution
above.

Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20200814/89e66c4a/attachment.html>


More information about the Scons-dev mailing list