mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-20 04:24:36 +08:00
VS2017: Verify Windows 8.1 SDK before using it
The detection logic added by commit v3.8.0-rc2~14^2 (VS2017: If Win 8.1 SDK is not available, use Win 10 SDK, 2017-02-20) was incomplete. It is possible for the Win 8.1 SDK registry entry to exist, and even the directory, but the header files to not actually be installed. Teach `cmGlobalVisualStudio15Generator::IsWin81SDKInstalled` to verify that the `windows.h` header actually exists in the SDK directory. We do this in `cmGlobalVisualStudio14Generator::GetWindows10SDKVersion` for the Windows 10 SDK already. Fixes: #16811
This commit is contained in:
@@ -164,7 +164,7 @@ bool cmGlobalVisualStudio15Generator::IsWin81SDKInstalled() const
|
|||||||
"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\"
|
"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\"
|
||||||
"Windows Kits\\Installed Roots;KitsRoot81",
|
"Windows Kits\\Installed Roots;KitsRoot81",
|
||||||
win81Root, cmSystemTools::KeyWOW64_32)) {
|
win81Root, cmSystemTools::KeyWOW64_32)) {
|
||||||
return true;
|
return cmSystemTools::FileExists(win81Root + "/um/windows.h", true);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user