From 25e57ca9c4d7e5d703906b0272b6554b8ed1679b Mon Sep 17 00:00:00 2001
From: unknown <iggy@slim.>
Date: Mon, 7 Apr 2008 01:32:59 -0400
Subject: [PATCH] Changes for Visual Studio 9

---
 CMakeLists.txt | 14 ++++++--------
 zlib/zutil.h   |  2 +-
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37956204fa..d4697efef9 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,18 +82,18 @@ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4800 /wd4805")
 
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
+# Disable warnings in Visual Studio 8 and above
+IF(MSVC AND MSVC_VERSION GREATER 1399)
     SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
     SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996")
     SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996")
     SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996")
     SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996")
     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996")
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
-
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR 
-   CMAKE_GENERATOR MATCHES "Visual Studio 8")
+ENDIF(MSVC AND MSVC_VERSION GREATER 1399)
 
+# Settings for Visual Studio 7 and above.  
+IF(MSVC AND MSVC_VERSION GREATER 1299)
     # replace /MDd with /MTd
     STRING(REPLACE "/MD"  "/MT"  CMAKE_C_FLAGS_RELEASE          ${CMAKE_C_FLAGS_RELEASE})
     STRING(REPLACE "/MD"  "/MT"  CMAKE_C_FLAGS_RELWITHDEBINFO   ${CMAKE_C_FLAGS_RELWITHDEBINFO})
@@ -123,9 +123,7 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
     IF(NOT tmp_manifest)
         SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
     ENDIF(NOT tmp_manifest)
-
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR 
-      CMAKE_GENERATOR MATCHES "Visual Studio 8")
+ENDIF(MSVC AND MSVC_VERSION GREATER 1299)
 
 ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
 
diff --git a/zlib/zutil.h b/zlib/zutil.h
index b7d5eff81b..4482957d6a 100644
--- a/zlib/zutil.h
+++ b/zlib/zutil.h
@@ -194,7 +194,7 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
 #  ifdef __TURBOC__
 #    define NO_vsnprintf
 #  endif
-#  ifdef WIN32
+#  if defined(WIN32) && (!defined(_MSC_VER) || _MSC_VER < 1500)
      /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
 #    if !defined(vsnprintf) && !defined(NO_vsnprintf)
 #      define vsnprintf _vsnprintf
-- 
2.30.9