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
Update VS projects/solutions to VS2019 #8498
Conversation
b9ee09a
to
f2ff456
Compare
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.
Seems good in general. Saw it only after commenting on the ARM one, so those comments are probably ignorable over there.
They're all in the Qt headers, and quite noisy.
f2ff456
to
33c0abd
Compare
|
Unless anyone has any objections, I'll go ahead and merge the update. Will wait a couple more days until doing so. |
Finishes the CMake migration. Unlike dolphin-emu#113 (the previous attempt), this PR takes a different approach. Instead of assuming that the compiler and environment variables are already set, we call the vcvars64.bat batch script to find the WinSDK, compiler path, include paths, etc. and to set any environment variables that are required to compile. This should require less maintenance than the previous approach. The only time we have to change something in the buildbot config file is when we upgrade to a new major version of Visual Studio. One concern that was raised last time is that the WinSDK version is not pinned so we end up using the latest WinSDK version. However, since dolphin-emu/dolphin#8498 was merged, the VS project files also do the exact same thing, and minimum version checks have been added elsewhere to ensure the WinSDK version isn't too old. Anyway, with this approach, if we ever need to use a specific version of the Windows SDK, we can easily switch to vcvarsall.bat later on: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax So I don't think this should be a blocker. I've tested the build steps I added in a Windows VM, but this needs some testing to make sure e.g. incremental builds work fine.
Finishes the CMake migration. Unlike dolphin-emu#113 (the previous attempt), this PR takes a different approach. Instead of assuming that the compiler and environment variables are already set, we call the vcvars64.bat batch script to find the WinSDK, compiler path, include paths, etc. and to set any environment variables that are required to compile. This should require less maintenance than the previous approach. The only time we have to change something in the buildbot config file is when we upgrade to a new major version of Visual Studio. One concern that was raised last time is that the WinSDK version is not pinned so we end up using the latest WinSDK version. However, since dolphin-emu/dolphin#8498 was merged, the VS project files also do the exact same thing, and minimum version checks have been added elsewhere to ensure the WinSDK version isn't too old. Anyway, with this approach, if we ever need to use a specific version of the Windows SDK, we can easily switch to vcvarsall.bat later on: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax So I don't think this should be a blocker. I've tested the build steps I added in a Windows VM, but this needs some testing to make sure e.g. incremental builds work fine.
Finishes the CMake migration. Unlike dolphin-emu#113 (the previous attempt), this PR takes a different approach. Instead of assuming that the compiler and environment variables are already set, we call the vcvars64.bat batch script to find the WinSDK, compiler path, include paths, etc. and to set any environment variables that are required to compile. This should require less maintenance than the previous approach. The only time we have to change something in the buildbot config file is when we upgrade to a new major version of Visual Studio. One concern that was raised last time is that the WinSDK version is not pinned so we end up using the latest WinSDK version. However, since dolphin-emu/dolphin#8498 was merged, the VS project files also do the exact same thing, and minimum version checks have been added elsewhere to ensure the WinSDK version isn't too old. Anyway, with this approach, if we ever need to use a specific version of the Windows SDK, we can easily switch to vcvarsall.bat later on: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax So I don't think this should be a blocker. I've tested the build steps I added in a Windows VM, but this needs some testing to make sure e.g. incremental builds work fine.
Finishes the CMake migration. Unlike dolphin-emu#113 (the previous attempt), this PR takes a different approach. Instead of assuming that the compiler and environment variables are already set, we call the vcvars64.bat batch script to find the WinSDK, compiler path, include paths, etc. and to set any environment variables that are required to compile. This should require less maintenance than the previous approach. The only time we have to change something in the buildbot config file is when we upgrade to a new major version of Visual Studio. One concern that was raised last time is that the WinSDK version is not pinned so we end up using the latest WinSDK version. However, since dolphin-emu/dolphin#8498 was merged, the VS project files also do the exact same thing, and minimum version checks have been added elsewhere to ensure the WinSDK version isn't too old. Anyway, with this approach, if we ever need to use a specific version of the Windows SDK, we can easily switch to vcvarsall.bat later on: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax So I don't think this should be a blocker.
Finishes the CMake migration. Unlike dolphin-emu#113 (the previous attempt), this PR takes a different approach. Instead of assuming that the compiler and environment variables are already set, we call the vcvars64.bat batch script to find the WinSDK, compiler path, include paths, etc. and to set any environment variables that are required to compile. This should require less maintenance than the previous approach. The only time we have to change something in the buildbot config file is when we upgrade to a new major version of Visual Studio. One concern that was raised last time is that the WinSDK version is not pinned so we end up using the latest WinSDK version. However, since dolphin-emu/dolphin#8498 was merged, the VS project files also do the exact same thing, and minimum version checks have been added elsewhere to ensure the WinSDK version isn't too old. Anyway, with this approach, if we ever need to use a specific version of the Windows SDK, we can easily switch to vcvarsall.bat later on: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax So I don't think this should be a blocker.
so i cannot install VS2019 is it possible to use the older one on my end? |
|
No, you need VS2019 now. |
What the title says. The buildbots were updated a while back, so I don't see much reason to stay on the old toolset.
I'm assuming the plan is still to migrate to cmake, but at least we'll discover any issues with the new compiler this way, changing one thing a time?