From 3a6c3599063dcaf1a19e7987d0486c5e8edf28a1 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 11 Nov 2014 08:55:58 -0500 Subject: [PATCH] Suppress deprecation warnings for GetVersionEx Visual Studio 12 (2013) deprecated GetVersionEx: warning C4996: 'GetVersionExW': was declared deprecated in favor of either "versionhelpers.h" or VerifyVersionInfo, neither of which exist in some of the older compilers we support. Rather than try to port conditionally to VerifyVersionInfo, simply suppress the warning for now. --- Source/cmGlobalGenerator.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index a729c3d84..aec47fbcb 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -11,6 +11,9 @@ ============================================================================*/ #if defined(_WIN32) && !defined(__CYGWIN__) #include "windows.h" // this must be first to define GetCurrentDirectory +#if defined(_MSC_VER) && _MSC_VER >= 1800 +# define KWSYS_WINDOWS_DEPRECATED_GetVersionEx +#endif #endif #include "cmGlobalGenerator.h" @@ -456,7 +459,14 @@ cmGlobalGenerator::EnableLanguage(std::vectorconst& languages, 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); +#ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx +# pragma warning (pop) +#endif cmOStringStream windowsVersionString; windowsVersionString << osvi.dwMajorVersion << "." << osvi.dwMinorVersion; windowsVersionString.str();