summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-09-10 20:02:09 (GMT)
committerBrad King <brad.king@kitware.com>2015-09-10 20:02:09 (GMT)
commit4c7744c891b878d9c8298f7e861e2475081abb06 (patch)
treef3d762afd55962ae2556030689ab9bdf5f649988 /Source
parentd4736d53cd61f2cbbb36bec682663b74b01dddce (diff)
downloadCMake-4c7744c891b878d9c8298f7e861e2475081abb06.zip
CMake-4c7744c891b878d9c8298f7e861e2475081abb06.tar.gz
CMake-4c7744c891b878d9c8298f7e861e2475081abb06.tar.bz2
Revert "Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)"
This reverts commit d4736d53cd61f2cbbb36bec682663b74b01dddce. RtlGetVersion is a private API not meant for public use. Another solution to detecting the Windows version will be needed. Reported-by: Gilles Khouzam <Gilles.Khouzam@microsoft.com>
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalGenerator.cxx56
1 files changed, 10 insertions, 46 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 1c8d5ea..cd05c54 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -14,20 +14,6 @@
#if defined(_MSC_VER) && _MSC_VER >= 1800
# define KWSYS_WINDOWS_DEPRECATED_GetVersionEx
#endif
-typedef struct {
- ULONG dwOSVersionInfoSize;
- ULONG dwMajorVersion;
- ULONG dwMinorVersion;
- ULONG dwBuildNumber;
- ULONG dwPlatformId;
- WCHAR szCSDVersion[128];
- USHORT wServicePackMajor;
- USHORT wServicePackMinor;
- USHORT wSuiteMask;
- UCHAR wProductType;
- UCHAR wReserved;
-} CMRTL_OSVERSIONINFOEXW;
-
#endif
#include "cmGlobalGenerator.h"
@@ -451,45 +437,23 @@ cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
if (!mf->GetDefinition("CMAKE_SYSTEM"))
{
#if defined(_WIN32) && !defined(__CYGWIN__)
- CMRTL_OSVERSIONINFOEXW osviex;
- ZeroMemory(&osviex, sizeof(osviex));
- osviex.dwOSVersionInfoSize = sizeof(osviex);
-
- typedef LONG (FAR WINAPI *cmRtlGetVersion)(CMRTL_OSVERSIONINFOEXW*);
- cmRtlGetVersion rtlGetVersion = reinterpret_cast<cmRtlGetVersion>(
- GetProcAddress(GetModuleHandleW(L"ntdll.dll"), "RtlGetVersion"));
- if (rtlGetVersion && rtlGetVersion(&osviex) == 0)
- {
- std::ostringstream windowsVersionString;
- windowsVersionString << osviex.dwMajorVersion << "."
- << osviex.dwMinorVersion << "."
- << osviex.dwBuildNumber;
- windowsVersionString.str();
- mf->AddDefinition("CMAKE_HOST_SYSTEM_VERSION",
- windowsVersionString.str().c_str());
- }
- else
- {
- // RtlGetVersion failed, so use the deprecated GetVersionEx function.
- /* Windows version number data. */
- OSVERSIONINFO osvi;
- ZeroMemory(&osvi, sizeof(osvi));
- osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ /* Windows version number data. */
+ OSVERSIONINFO osvi;
+ ZeroMemory(&osvi, sizeof(osvi));
+ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
#ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx
# pragma warning (push)
# pragma warning (disable:4996)
#endif
- GetVersionEx (&osvi);
+ GetVersionEx (&osvi);
#ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx
# pragma warning (pop)
#endif
- std::ostringstream windowsVersionString;
- windowsVersionString << osvi.dwMajorVersion << "."
- << osvi.dwMinorVersion;
- windowsVersionString.str();
- mf->AddDefinition("CMAKE_HOST_SYSTEM_VERSION",
- windowsVersionString.str().c_str());
- }
+ std::ostringstream windowsVersionString;
+ windowsVersionString << osvi.dwMajorVersion << "." << osvi.dwMinorVersion;
+ windowsVersionString.str();
+ mf->AddDefinition("CMAKE_HOST_SYSTEM_VERSION",
+ windowsVersionString.str().c_str());
#endif
// Read the DetermineSystem file
std::string systemFile = mf->GetModulesFile("CMakeDetermineSystem.cmake");