-
Notifications
You must be signed in to change notification settings - Fork 49
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
fix #157: detect vs2017 (vc141) and setup environment #170
Conversation
308a246
to
dd7a0ef
Compare
src/tools/msvc.jam
Outdated
@@ -907,7 +925,7 @@ local rule configure-really ( version ? : options * ) | |||
# version from the path. | |||
# FIXME: We currently detect both Microsoft Visual Studio 9.0 and | |||
# 9.0express as 9.0 here. | |||
if [ MATCH "(Microsoft Visual Studio 15)" : $(command) ] | |||
if [ MATCH "(14.10)" : $(command) ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line should be if [ MATCH "(Microsoft Visual Studio[\/\\]2017)" : $(command) ]
, because they checking here path to Visual Studio
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know but with 2017 that string is not a part of the path. Only predictable string is 14.10
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On my machine it's C:\bin\dev\VS\2017\BuildTools\VC\Tools\MSVC\14.10.24930\bin\HostX64\x64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this codepath only for default path to VS, check expression for VS2015 below for example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's logic to deduce the VS version from a given path. 14.10
is the only stable path part (MSVC\14.10
at most).
There are other patterns in this block RE: line 965
VS2017 setup has been reworked extensively...
Maybe transfer functionality for debugging in a separate PR to speed up the merger of this PR? |
@KindDragon what debugging functionality specifically? |
Ahh, your PR based on changes from 'debug' branch. I think you should remove this commits from your PR |
Branch base oops ( |
General question.. From the other pulls/issues/emails.. Shouldn't the version number be "14.10" or "1410", i.e. not 15.0, nor 14.1, nor 141? |
👍 14.10 |
@grafikrobot actually it has nuance, The "whole" Visual Studio suite will be version 15.0, but the C++ toolset will be 14.10 |
@refack I wouldn't call that a nuance.. More like a total clusterf_ck on the part of Microsoft. |
For this project |
@@ -0,0 +1,272 @@ | |||
// powershell -ExecutionPolicy Unrestricted -Version "2.0" -Command "&{ Add-Type -Path Program.cs; [VisualStudioConfiguration.Program]::Main(@())}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a license / copyright statement to be considered for inclusion in Boost.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
After installing VS2017 community I did:
And as you can see it did not detect my install. Which is installed at the default location. |
@grafikrobot checking |
61ea2ce
to
ed4f151
Compare
@grafikrobot can you gist the output of |
@refack Sure.. I posted it as a comment on your gist. |
@grafikrobot I tried to simplify the non C# part, and added some fallbacks. |
CI machine passes |
Tested the last version of the patch with 2017 Enterprise. Works |
One small step for me, kinda small step for |
The officially supported vswhere tool is now available as part of the install starting today with Visual Studio 15.2 preview 2: https://blogs.msdn.microsoft.com/heaths/2017/04/21/vswhere-is-now-installed-with-visual-studio-2017/. This doesn't fix all the existing installs of VS 2017 but going forward you can now detect the VS install locations and whether C++ tools are available from a scripted environment. I hope this helps your scenario. |
Based on JIT compilation of a C# file and COM