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

[appveyor] Added vs2017 to the build images #34

Closed
wants to merge 1 commit into from

Conversation

sigman78
Copy link
Contributor

No description provided.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 96.139% when pulling 8345b0f on sigman78:master into b87c50d on mosra:master.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 96.139% when pulling b1e3656 on sigman78:master into b87c50d on mosra:master.

@mosra
Copy link
Owner

mosra commented Jun 13, 2017

Oh wow, the VS2017 port is this simple? Thank you!

I'll try to reduce the amount of builds a bit, though -- MinGW build takes significant amount of time and it doesn't need to be run twice as it has no dependency on installed VS at all.

@mosra
Copy link
Owner

mosra commented Jun 13, 2017

Hmm -- there is something suspicious about MSVC 2017. Both 2015 and 2017 report themselves as "version 19" or "version 14", depending on where one looks:

2015 says:

-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works

while 2017 says:

-- The CXX compiler identification is MSVC 19.10.25019.0
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/Hostx64/x64/cl.exe -- works

The thing is that my CMake buildscripts are enabling some ugly workarounds for 2015 ("14") which I hope are resolved with 2017 ("15"), but now I have no way to distinguish between them, as there is no significant version difference. I need to investigate what's going on here.

@sigman78
Copy link
Contributor Author

Concerning this issue - I've tried my best to detect installed msvc version with vswhere but the current state of the things and microsoft/vswhere#62 makes it's almost unusable with legacy Visual Studio 2015 image. However, the good news is: Visual Studio 2017 image contains both legacy and newer build tools and with the minor workarounds, it is possible to select correct vcvarsall.bat and such. Maybe even parametrise from the appveyor.yml and add x86 builds alongside.

More on this:
https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/
https://github.com/Microsoft/vswhere/
My hair pulling experiments:
https://github.com/sigman78/appveyor-2017

@LB--
Copy link
Contributor

LB-- commented Jun 13, 2017

there is something suspicious about MSVC 2017

I think the IDE and compiler are versioned separately - not sure, though.

@mosra
Copy link
Owner

mosra commented Jun 14, 2017

After some investigation I found out that MSVC 2017 presents itself as version 19.10, while 2015 is 19.0. There is now a new variable CORRADE_MSVC2017_COMPATIBILITY that enables a subset of the 2015 workarounds for 2017. I hoped there won't be any of the workarounds needed, but they still are.

The AppVeyor config was merged with some modifications as 3c2ded3 -- hope that's okay. I'll now proceed with integrating your changes in the other projects. Thanks a lot for this!

@mosra mosra closed this Jun 14, 2017
@mosra mosra added this to the 2018.02 milestone Feb 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants