]> git.saurik.com Git - wxWidgets.git/commitdiff
allow predefining wxNO_XXX_LIB symbols to avoid implicitly linking with the correspon...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 13 Apr 2008 02:09:52 +0000 (02:09 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 13 Apr 2008 02:09:52 +0000 (02:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/doxygen/mainpages/const_cpp.h
include/msvc/wx/setup.h

index 90cdaf6414a9322552a8f4f3adf7df0550201084..544db2ce1c1bdd5969b83e62e4d67df856339f32 100644 (file)
@@ -23,6 +23,7 @@ always tested using @ifdef_ and not @if_.
 @li @ref page_cppconst_hardware
 @li @ref page_cppconst_compiler
 @li @ref page_cppconst_featuretests
+@li @ref page_cppconst_msvc_setup_h
 @li @ref page_cppconst_miscellaneous
 
 <hr>
@@ -199,6 +200,35 @@ Currently the following symbols exist:
 
 
 
+@section page_cppconst_msvc_setup_h Libraries selection for MSVC setup.h
+
+Microsoft Visual C++ users may use the special @c wx/setup.h file for this
+compiler in @c include/msvc subdirectory. This file implicitly links in all the
+wxWidgets libraries using MSVC-specific pragmas which usually is much more
+convenient than manually specifying the libraries list in all of the project
+configurations. However sometimes linking with all the libraries is not
+desirable, for example because some of them were not built and this is where
+the symbols in this section can be helpful: defining them allows to not link
+with the corresponding library. The following symbols are honoured:
+    - wxNO_ADV_LIB
+    - wxNO_AUI_LIB
+    - wxNO_HTML_LIB
+    - wxNO_MEDIA_LIB
+    - wxNO_NET_LIB
+    - wxNO_QA_LIB
+    - wxNO_RICHTEXT_LIB
+    - wxNO_XML_LIB
+    - wxNO_REGEX_LIB
+    - wxNO_EXPAT_LIB
+    - wxNO_JPEG_LIB
+    - wxNO_PNG_LIB
+    - wxNO_TIFF_LIB
+    - wxNO_ZLIB_LIB
+
+Notice that the base library is always included and the core is always included
+for the GUI applications (i.e. those which don't define @c wxUSE_GUI as 0).
+
+
 @section page_cppconst_miscellaneous Miscellaneous
 
 @beginDefList
index 5a42e004eed57cb9d6bc68f5531d8d1b0117e0f1..136fe6bbaa10f95787f61c755b2246d42fee2578 100644 (file)
     #define wx3RD_PARTY_LIB_NAME_U(name) "wx" name wxSUFFIX_STR
 
     #pragma comment(lib, wxWX_LIB_NAME("base", ""))
-    #pragma comment(lib, wxBASE_LIB_NAME("net"))
-    #pragma comment(lib, wxBASE_LIB_NAME("xml"))
-    #if wxUSE_REGEX
+
+    #ifndef wxNO_NET_LIB
+        #pragma comment(lib, wxBASE_LIB_NAME("net"))
+    #endif
+    #ifndef wxNO_XML_LIB
+        #pragma comment(lib, wxBASE_LIB_NAME("xml"))
+    #endif
+    #if wxUSE_REGEX && !defined(wxNO_REGEX_LIB)
         #pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex"))
     #endif
 
     #if wxUSE_GUI
-        #if wxUSE_XML
+        #if wxUSE_XML && !defined(wxNO_EXPAT_LIB)
             #pragma comment(lib, wx3RD_PARTY_LIB_NAME("expat"))
         #endif
-        #if wxUSE_LIBJPEG
+        #if wxUSE_LIBJPEG && !defined(wxNO_JPEG_LIB)
             #pragma comment(lib, wx3RD_PARTY_LIB_NAME("jpeg"))
         #endif
-        #if wxUSE_LIBPNG
+        #if wxUSE_LIBPNG && !defined(wxNO_PNG_LIB)
             #pragma comment(lib, wx3RD_PARTY_LIB_NAME("png"))
         #endif
-        #if wxUSE_LIBTIFF
+        #if wxUSE_LIBTIFF && !defined(wxNO_TIFF_LIB)
             #pragma comment(lib, wx3RD_PARTY_LIB_NAME("tiff"))
         #endif
-        #if wxUSE_ZLIB
+        #if wxUSE_ZLIB && !defined(wxNO_ZLIB_LIB)
             #pragma comment(lib, wx3RD_PARTY_LIB_NAME("zlib"))
         #endif
 
-        #pragma comment(lib, wxMSW_LIB_NAME("adv"))
         #pragma comment(lib, wxMSW_LIB_NAME("core"))
-        #pragma comment(lib, wxMSW_LIB_NAME("html"))
-        #if wxUSE_GLCANVAS
+
+        #ifndef wxNO_ADV_LIB
+            #pragma comment(lib, wxMSW_LIB_NAME("adv"))
+        #endif
+
+        #ifndef wxNO_HTML_LIB
+            #pragma comment(lib, wxMSW_LIB_NAME("html"))
+        #endif
+        #if wxUSE_GLCANVAS && !defined(wxNO_GL_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("gl"))
         #endif
-        #if wxUSE_DEBUGREPORT
+        #if wxUSE_DEBUGREPORT && !defined(wxNO_QA_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("qa"))
         #endif
-        #if wxUSE_XRC
+        #if wxUSE_XRC && !defined(wxNO_XRC_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("xrc"))
         #endif
-        #if wxUSE_AUI
+        #if wxUSE_AUI && !defined(wxNO_AUI_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("aui"))
         #endif
-        #if wxUSE_RICHTEXT
+        #if wxUSE_RICHTEXT && !defined(wxNO_RICHTEXT_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("richtext"))
         #endif
-        #if wxUSE_MEDIACTRL
+        #if wxUSE_MEDIACTRL && !defined(wxNO_MEDIA_LIB)
             #pragma comment(lib, wxMSW_LIB_NAME("media"))
         #endif
-        #if wxUSE_ODBC
-            #pragma comment(lib, wxMSW_LIB_NAME("odbc"))
-        #endif
     #endif // wxUSE_GUI
 #else
     #error "This file should only be included when using Microsoft Visual C++"