diff --git a/config/config.h.cmake b/config/config.h.cmake index 97860091..168c2de2 100644 --- a/config/config.h.cmake +++ b/config/config.h.cmake @@ -1,6 +1,43 @@ /**/ /* config.h. Generated by cmake from config.h.cmake. */ +#ifdef _MSC_VER +#ifndef _EXV_MSVC_H_ +#define _EXV_MSVC_H_ + +#define _MSC_VER_2015 1900 +#define _MSC_VER_2013 1800 +#define _MSC_VER_2012 1700 +#define _MSC_VER_2010 1600 +#define _MSC_VER_2008 1500 +#define _MSC_VER_2005 1400 +#define _MSC_VER_2003 1300 + +#if _MSC_VER >= _MSC_VER_2015 +#define MSDEV_2015 1 +#elif _MSC_VER >= _MSC_VER_2013 +#define MSDEV_2013 1 +#elif _MSC_VER >= _MSC_VER_2012 +#define MSDEV_2012 1 +#elif _MSC_VER >= _MSC_VER_2010 +#define MSDEV_2010 1 +#elif _MSC_VER >= _MSC_VER_2008 +#define MSDEV_2008 1 +#elif _MSC_VER >= _MSC_VER_2005 +#define MSDEV_2005 1 +#else +#define MSDEV_2003 1 +#endif + +#endif /* _EXV_MSVC_H_ */ +#endif /* _MSC_VER */ + +// Visual Studio 2012 supports ntohll +#if defined(_MSC_VER) && _MSC_VER_ == _MSC_VER_2012 +#define HAVE_NTOHLL 1 +#endif + + /* Define to 1 if you want to use `libssh' for SshIO. */ #cmakedefine EXV_USE_SSH 1 @@ -46,6 +83,10 @@ #endif /* !EXV_COMMERCIAL_VERSION */ +/* Define Windows unicode path support. */ +#cmakedefine EXV_UNICODE_PATH 1 + + /* Define to `const' or to empty, depending on the second argument of `iconv'. */ #cmakedefine ICONV_ACCEPTS_CONST_INPUT 1 #if defined ICONV_ACCEPTS_CONST_INPUT @@ -54,9 +95,6 @@ #define EXV_ICONV_CONST #endif -/* Define to 1 if you have the header file. */ -#cmakedefine EXV_HAVE_LIBINTL_H 1 - /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_REGEX 1 @@ -137,6 +175,12 @@ /* Define to 1 if you have the `zlib' library. */ #cmakedefine EXV_HAVE_LIBZ 1 +#if defined(_MSC_VER) && HAVE_LIBZ + #if (_MSC_VER < 1400) && !defined(vsnprintf) + #define vsnprintf _vsnprintf + #endif +#endif + /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_PROCESS_H 1 @@ -214,6 +258,16 @@ typedef int pid_t; #define EXV_HAVE_GXXCLASSVISIBILITY #endif +/* Help out our buddy curl */ +#if defined(_MSC_VER) && !defined(EXV_HAVE_DLL) + #define CURL_STATICLIB +#endif + +#if defined(_MSC_VER) +#pragma comment(lib, "ws2_32.lib") +#pragma comment(lib, "wldap32.lib") +#endif + /* File path separator */ #if defined(WIN32) && !defined(__CYGWIN__) #define EXV_SEPARATOR_STR "\\" @@ -224,7 +278,7 @@ typedef int pid_t; #endif /* Shared library support, see http://gcc.gnu.org/wiki/Visibility */ -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(WIN32) && !defined(__CYGWIN__) && EXV_HAVE_DLL # define EXV_IMPORT __declspec(dllimport) # define EXV_EXPORT __declspec(dllexport) # define EXV_DLLLOCAL @@ -254,13 +308,20 @@ typedef int pid_t; # define EXIV2API #endif /* ! EXV_HAVE_DLL */ +/* + Disable warning 4251. This is warning from std templates about exporting interfaces +*/ +#ifdef EXV_HAVE_DLL +#pragma warning( disable : 4251 ) +#endif + /* Visual Studio C++ 2005 (8.0) Disable warnings about 'deprecated' standard functions See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 */ #if defined(_MSC_VER) && (_MSC_VER >= 1400) -# pragma warning(disable : 4996 4251) +# pragma warning(disable : 4996) #endif /*