From 458121116a05665ebc0cf6a066977c00b8e55e5c Mon Sep 17 00:00:00 2001 From: Gilles Khouzam Date: Fri, 2 Oct 2015 11:34:55 -0700 Subject: [PATCH] VS: Select latest Windows 10 SDK if no specific version was requested If CMAKE_SYSTEM_VERSION is just "10.0" then use the latest SDK available since no particular version was requested. --- Source/cmGlobalVisualStudio14Generator.cxx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Source/cmGlobalVisualStudio14Generator.cxx b/Source/cmGlobalVisualStudio14Generator.cxx index 74679d842..661dddd88 100644 --- a/Source/cmGlobalVisualStudio14Generator.cxx +++ b/Source/cmGlobalVisualStudio14Generator.cxx @@ -202,14 +202,23 @@ std::string cmGlobalVisualStudio14Generator::GetWindows10SDKVersion() // has a version less or equal to our version of the operating system std::sort(sdks.begin(), sdks.end(), cmSystemTools::VersionCompareGreater); - for (std::vector::iterator i = sdks.begin(); - i != sdks.end(); ++i) + // Select a suitable SDK version. + if (this->SystemVersion == "10.0") + { + // Use the latest Windows 10 SDK since no build version was given. + return sdks.at(0); + } + else { // Find the SDK less or equal to our specified version - if (!cmSystemTools::VersionCompareGreater(*i, this->SystemVersion)) + for (std::vector::iterator i = sdks.begin(); + i != sdks.end(); ++i) { - // This is the most recent SDK that we can run safely - return *i; + if (!cmSystemTools::VersionCompareGreater(*i, this->SystemVersion)) + { + // This is the most recent SDK that we can run safely + return *i; + } } } }