Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSVC detection for 2019, 2017, 2017 Express and 6.0 #3701

Merged
merged 10 commits into from
Jun 21, 2020

Conversation

jcbrill
Copy link
Contributor

@jcbrill jcbrill commented Jun 15, 2020

Proposed solution(s) for #3699

Contributor Checklist:

  • I have created a new test or updated the unit tests to cover the new/changed functionality.
  • I have updated CHANGES.txt (and read the README.rst)
  • I have updated the appropriate documentation

…_RUN rather than the changing the global variable. Added global definition.
…vity of the filename ("cl.exe" and "CL.EXE"). First check vc_dir/bin/cl.exe and vc_dir/cl.exe for existence. Modify the vc_dir walk to check for existence under the directories rather than testing if cl.exe is in the file list. Existence test is not sensitive to file name case.
…a missing "14.Exp" key in the _VCVER_TO_VSWHERE_VER dictionary. Add the "14.Exp" to the dictionary.
…eliable when multiple versions of msvc are installed. Modify the vswhere queries by version to detect the appropriate products: 14.2 [default, BuildTools], 14.1 [default, BuildTools], 14.1Exp [WDExpress]. The default is Enterprise, Professional, Community. The order is unknown. With only Build Tools installed, 14.2 and 14.1 require two calls to vswhere.
…e may be more iterations (artifact from moving the vswhere query in a loop)
@@ -231,8 +231,17 @@ def get_host_target(env):

# if using vswhere, a further mapping is needed
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: maybe update the comment? Perhaps

# if using vswhere, map the command lines to probe for installed VC editions

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about:

# if using vswhere, configure command line arguments to probe for installed VC editions

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine by me

@mwichmann
Copy link
Collaborator

appveyor CI fails are an old-familiar... someday we really need to figure out what that is.

@bdbaddog
Copy link
Contributor

bdbaddog commented Jun 16, 2020

Please add a blurb to CHANGES.txt with what changed and what it fixes.
(you can put [ci skip] in your commit message for such. That way it won't trigger another set of CI builds.

@@ -182,7 +182,17 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER
rewordings in manpage. Manpage Examples moved to an external
repository / website (scons-cookbook.readthedocs.io).


From Joseph Brill:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These blurbs are very internal to SCons focused. Ideally CHANGES.txt would be user focused.
So they can read the entries and say. oh the problem I have has been fixed in this version.

Can you rewrite the below with that in mind?

@jcbrill
Copy link
Contributor Author

jcbrill commented Jun 17, 2020

I would be happy to try again.

I believe the only "user facing" change was the case where the 14.2 Build Tools could be returned instead of Enterprise/Professional/Community when multiple versions are installed.

The remaining are (mostly) internal or for 14.1Exp which has not been supported in a production release of scons if I'm not mistaken.

@bdbaddog
Copy link
Contributor

So basically describe the problem you fixed? if you have x installed via y, then this resolves that problem.

@bdbaddog
Copy link
Contributor

@jcbrill - good changes to CHANGES.txt. That's exactly what I was looking for!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MSVC detection: 2019, 2017, 2017 Express, and 6.0
3 participants