diff --git a/docs/changes.txt b/docs/changes.txt index daa8c0c192..41ecaf1d11 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -94,6 +94,7 @@ wxMSW: - Fix stack corruption when using wxStackWalker (srfisk). - Fix positioning windows at positions >= SHORT_MAX (Cătălin Răceanu). - Honour alignment flags for multiline buttons using custom colours too. +- Support MSVC auto-linking when using monolithic build too (PB). wxOSX: diff --git a/include/msvc/wx/setup.h b/include/msvc/wx/setup.h index 588d34d9e2..8a7c0c488d 100644 --- a/include/msvc/wx/setup.h +++ b/include/msvc/wx/setup.h @@ -149,80 +149,97 @@ // special version for regex as it does have a Unicode version #define wx3RD_PARTY_LIB_NAME_U(name) "wx" name wxSUFFIX_STR -#pragma comment(lib, wxWX_LIB_NAME("base", "")) +#if defined(wxMONOLITHIC) && wxMONOLITHIC == 1 + #pragma comment(lib, wxWX_LIB_NAME("msw", "")) +#else + #pragma comment(lib, wxWX_LIB_NAME("base", "")) -#ifndef wxNO_NET_LIB - #ifndef WXUSINGDLL + #ifndef wxNO_NET_LIB + #pragma comment(lib, wxBASE_LIB_NAME("net")) + #endif + #if wxUSE_XML && !defined(wxNO_XML_LIB) + #pragma comment(lib, wxBASE_LIB_NAME("xml")) + #endif +#endif // defined(wxMONOLITHIC) && wxMONOLITHIC == 1 + +#if !defined(WXUSINGDLL) + #if !defined(wxNO_NET_LIB) #pragma comment(lib, "wsock32") #endif - #pragma comment(lib, wxBASE_LIB_NAME("net")) -#endif -#if wxUSE_XML && !defined(wxNO_XML_LIB) - #pragma comment(lib, wxBASE_LIB_NAME("xml")) - #if !defined(wxNO_EXPAT_LIB) && !defined(WXUSINGDLL) + + #if wxUSE_XML && !defined(wxNO_XML_LIB) && !defined(wxNO_EXPAT_LIB) #pragma comment(lib, wx3RD_PARTY_LIB_NAME("expat")) #endif -#endif -#if wxUSE_REGEX && !defined(wxNO_REGEX_LIB) && !defined(WXUSINGDLL) - #pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex")) -#endif -#if wxUSE_ZLIB && !defined(wxNO_ZLIB_LIB) && !defined(WXUSINGDLL) - #pragma comment(lib, wx3RD_PARTY_LIB_NAME("zlib")) -#endif + + #if wxUSE_REGEX && !defined(wxNO_REGEX_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex")) + #endif + #if wxUSE_ZLIB && !defined(wxNO_ZLIB_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME("zlib")) + #endif +#endif // !defined(WXUSINGDLL) #if wxUSE_GUI - #if wxUSE_LIBJPEG && !defined(wxNO_JPEG_LIB) && !defined(WXUSINGDLL) - #pragma comment(lib, wx3RD_PARTY_LIB_NAME("jpeg")) - #endif - #if wxUSE_LIBPNG && !defined(wxNO_PNG_LIB) && !defined(WXUSINGDLL) - #pragma comment(lib, wx3RD_PARTY_LIB_NAME("png")) - #endif - #if wxUSE_LIBTIFF && !defined(wxNO_TIFF_LIB) && !defined(WXUSINGDLL) - #pragma comment(lib, wx3RD_PARTY_LIB_NAME("tiff")) - #endif + #if !defined(WXUSINGDLL) + #if wxUSE_LIBJPEG && !defined(wxNO_JPEG_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME("jpeg")) + #endif + #if wxUSE_LIBPNG && !defined(wxNO_PNG_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME("png")) + #endif + #if wxUSE_LIBTIFF && !defined(wxNO_TIFF_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME("tiff")) + #endif + #if wxUSE_STC && !defined(wxNO_STC_LIB) + #pragma comment(lib, wx3RD_PARTY_LIB_NAME("scintilla")) + #endif + #endif // !defined(WXUSINGDLL) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("core")) - #ifndef wxNO_ADV_LIB - #pragma comment(lib, wxTOOLKIT_LIB_NAME("adv")) - #endif + #if !defined(wxMONOLITHIC) || wxMONOLITHIC == 0 + + #pragma comment(lib, wxTOOLKIT_LIB_NAME("core")) + + #ifndef wxNO_ADV_LIB + #pragma comment(lib, wxTOOLKIT_LIB_NAME("adv")) + #endif + + #if wxUSE_HTML && !defined(wxNO_HTML_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("html")) + #endif + #if wxUSE_DEBUGREPORT && !defined(wxNO_QA_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("qa")) + #endif + #if wxUSE_XRC && !defined(wxNO_XRC_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("xrc")) + #endif + #if wxUSE_AUI && !defined(wxNO_AUI_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("aui")) + #endif + #if wxUSE_PROPGRID && !defined(wxNO_PROPGRID_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("propgrid")) + #endif + #if wxUSE_RIBBON && !defined(wxNO_RIBBON_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("ribbon")) + #endif + #if wxUSE_RICHTEXT && !defined(wxNO_RICHTEXT_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("richtext")) + #endif + #if wxUSE_MEDIACTRL && !defined(wxNO_MEDIA_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("media")) + #endif + #if wxUSE_STC && !defined(wxNO_STC_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("stc")) + #endif + #if wxUSE_WEBVIEW && !defined(wxNO_WEBVIEW_LIB) + #pragma comment(lib, wxTOOLKIT_LIB_NAME("webview")) + #endif + #endif // !defined(wxMONOLITHIC) || wxMONOLITHIC == 0 - #if wxUSE_HTML && !defined(wxNO_HTML_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("html")) - #endif #if wxUSE_GLCANVAS && !defined(wxNO_GL_LIB) #pragma comment(lib, wxTOOLKIT_LIB_NAME("gl")) #endif - #if wxUSE_DEBUGREPORT && !defined(wxNO_QA_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("qa")) - #endif - #if wxUSE_XRC && !defined(wxNO_XRC_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("xrc")) - #endif - #if wxUSE_AUI && !defined(wxNO_AUI_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("aui")) - #endif - #if wxUSE_PROPGRID && !defined(wxNO_PROPGRID_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("propgrid")) - #endif - #if wxUSE_RIBBON && !defined(wxNO_RIBBON_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("ribbon")) - #endif - #if wxUSE_RICHTEXT && !defined(wxNO_RICHTEXT_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("richtext")) - #endif - #if wxUSE_MEDIACTRL && !defined(wxNO_MEDIA_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("media")) - #endif - #if wxUSE_STC && !defined(wxNO_STC_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("stc")) - #ifndef WXUSINGDLL - #pragma comment(lib, wx3RD_PARTY_LIB_NAME("scintilla")) - #endif - #endif - #if wxUSE_WEBVIEW && !defined(wxNO_WEBVIEW_LIB) - #pragma comment(lib, wxTOOLKIT_LIB_NAME("webview")) - #endif + #endif // wxUSE_GUI