]> git.saurik.com Git - wxWidgets.git/blobdiff - include/msvc/wx/setup.h
Work around a crash on starting editing in wxGrid under wxOSX/Cocoa.
[wxWidgets.git] / include / msvc / wx / setup.h
index 07932cdaeec24b42b7755b4a390e899c144e60f4..0cd34e3451ab39b93b33aadf643d418114717508 100644 (file)
     #endif // _UNICODE/!_UNICODE
 #endif
 
+// compiler-specific prefix: by default it's always just "vc" for compatibility
+// reasons but if you use multiple MSVC versions you probably build them with
+// COMPILER_PREFIX=vcXX and in this case you may want to either predefine
+// wxMSVC_VERSION as "XX" or define wxMSVC_VERSION_AUTO to use the appropriate
+// version depending on the compiler used
+#ifdef wxMSVC_VERSION
+    #define wxCOMPILER_PREFIX wxCONCAT2(vc, wxMSVC_VERSION)
+#elif defined(wxMSVC_VERSION_AUTO)
+    #if _MSC_VER == 1200
+        #define wxCOMPILER_PREFIX vc60
+    #elif _MSC_VER == 1300
+        #define wxCOMPILER_PREFIX vc70
+    #elif _MSC_VER == 1310
+        #define wxCOMPILER_PREFIX vc71
+    #elif _MSC_VER == 1400
+        #define wxCOMPILER_PREFIX vc80
+    #elif _MSC_VER == 1500
+        #define wxCOMPILER_PREFIX vc90
+    #elif _MSC_VER == 1600
+        #define wxCOMPILER_PREFIX vc100
+    #else
+        #error "Unknown MSVC compiler version, please report to wx-dev."
+    #endif
+#else
+    #define wxCOMPILER_PREFIX vc
+#endif
+
+// architecture-specific part: not used (again, for compatibility), for x86
+#if defined(_M_X64)
+    #define wxARCH_SUFFIX _amd64
+#elif defined(_M_IA64)
+    #define wxARCH_SUFFIX _ia64
+#else // assume _M_IX86
+    #define wxARCH_SUFFIX
+#endif
+
 #ifdef WXUSINGDLL
-    #define wxLIB_SUBDIR vc_dll
+    #define wxLIB_SUBDIR wxCONCAT3(wxCOMPILER_PREFIX, wxARCH_SUFFIX, _dll)
 #else // !DLL
-    #define wxLIB_SUBDIR vc_lib
+    #define wxLIB_SUBDIR wxCONCAT3(wxCOMPILER_PREFIX, wxARCH_SUFFIX, _lib)
 #endif // DLL/!DLL
 
 
         #pragma comment(lib, wx3RD_PARTY_LIB_NAME("scintilla"))
     #endif
 #endif // wxUSE_GUI
+
+
+#ifndef WXUSINGDLL
+    // Make sure all required system libraries are added to the linker too when
+    // using static libraries.
+    #pragma comment(lib, "kernel32")
+    #pragma comment(lib, "user32")
+    #pragma comment(lib, "gdi32")
+    #pragma comment(lib, "comdlg32")
+    #pragma comment(lib, "winspool")
+    #pragma comment(lib, "winmm")
+    #pragma comment(lib, "shell32")
+    #pragma comment(lib, "comctl32")
+    #pragma comment(lib, "ole32")
+    #pragma comment(lib, "oleaut32")
+    #pragma comment(lib, "uuid")
+    #pragma comment(lib, "rpcrt4")
+    #pragma comment(lib, "advapi32")
+    #pragma comment(lib, "wsock32")
+    #if wxUSE_URL_NATIVE
+        #pragma comment(lib, "wininet")
+    #endif
+#endif // !WXUSINGDLL