significantly simplify this file by using token pasting in #incoude and #pragma comment(lib) instead of repeating them 4 or 8 times

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-01-29 11:11:15 +00:00
parent ddcbe73271
commit d57b71603f

View File

@ -14,235 +14,112 @@
// explicitly! // explicitly!
#ifdef _MSC_VER #ifdef _MSC_VER
#ifdef _UNICODE #include "wx/version.h"
#ifdef WXUSINGDLL #include "wx/cpp.h"
#ifdef _DEBUG
#include "../../../lib/vc_dll/mswud/wx/setup.h" // notice that wxSUFFIX_DEBUG is a string but wxSUFFIX itself must be an
#else // identifier as string concatenation is not done inside #include where we
#include "../../../lib/vc_dll/mswu/wx/setup.h" // need it
#endif #ifdef _DEBUG
#else #define wxSUFFIX_DEBUG "d"
#ifdef _DEBUG #ifdef _UNICODE
#include "../../../lib/vc_lib/mswud/wx/setup.h" #define wxSUFFIX ud
#else #else // !_UNICODE
#include "../../../lib/vc_lib/mswu/wx/setup.h" #define wxSUFFIX d
#endif #endif // _UNICODE/!_UNICODE
#else
#define wxSUFFIX_DEBUG ""
#ifdef _UNICODE
#define wxSUFFIX u
#else // !_UNICODE
#define wxSUFFIX
#endif // _UNICODE/!_UNICODE
#endif
#ifdef WXUSINGDLL
#define wxLIB_SUBDIR vc_dll
#else // !DLL
#define wxLIB_SUBDIR vc_lib
#endif // DLL/!DLL
// the real setup.h header file we need is in the build-specific directory,
// construct the path to it
#define wxSETUPH_PATH \
wxCONCAT5(../../../lib/, wxLIB_SUBDIR, /msw, wxSUFFIX, /wx/setup.h)
#define wxSETUPH_PATH_STR wxSTRINGIZE(wxSETUPH_PATH)
#include wxSETUPH_PATH_STR
// the library names depend on the build, these macro builds the correct
// library name for the given base name
#define wxSUFFIX_STR wxSTRINGIZE(wxSUFFIX)
#define wxSHORT_VERSION_STRING \
wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION)
#define wxWX_LIB_NAME(name, subname) \
"wx" name wxSHORT_VERSION_STRING wxSUFFIX_STR subname
#define wxBASE_LIB_NAME(name) wxWX_LIB_NAME("base", "_" name)
#define wxMSW_LIB_NAME(name) wxWX_LIB_NAME("msw", "_" name)
// this one is for 3rd party libraries: they don't have the version number
// in their names and usually exist in ANSI version only (except for regex)
#define wx3RD_PARTY_LIB_NAME(name) "wx" name wxSUFFIX_DEBUG
// 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", ""))
#pragma comment(lib, wxBASE_LIB_NAME("net"))
#pragma comment(lib, wxBASE_LIB_NAME("xml"))
#if wxUSE_REGEX
#pragma comment(lib, wx3RD_PARTY_LIB_NAME_U("regex"))
#endif
#if wxUSE_GUI
#if wxUSE_XML
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("expat"))
#endif
#if wxUSE_LIBJPEG
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("jpeg"))
#endif
#if wxUSE_LIBPNG
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("png"))
#endif
#if wxUSE_LIBTIFF
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("tiff"))
#endif
#if wxUSE_ZLIB
#pragma comment(lib, wx3RD_PARTY_LIB_NAME("zlib"))
#endif #endif
#ifdef _DEBUG #pragma comment(lib, wxMSW_LIB_NAME("adv"))
#pragma comment(lib,"wxbase29ud") #pragma comment(lib, wxMSW_LIB_NAME("core"))
#pragma comment(lib,"wxbase29ud_net") #pragma comment(lib, wxMSW_LIB_NAME("html"))
#pragma comment(lib,"wxbase29ud_xml") #if wxUSE_GLCANVAS
#if wxUSE_REGEX #pragma comment(lib, wxMSW_LIB_NAME("gl"))
#pragma comment(lib,"wxregexud") #endif
#endif #if wxUSE_DEBUGREPORT
#pragma comment(lib, wxMSW_LIB_NAME("qa"))
#if wxUSE_GUI #endif
#if wxUSE_XML #if wxUSE_XRC
#pragma comment(lib,"wxexpatd") #pragma comment(lib, wxMSW_LIB_NAME("xrc"))
#endif #endif
#if wxUSE_LIBJPEG #if wxUSE_AUI
#pragma comment(lib,"wxjpegd") #pragma comment(lib, wxMSW_LIB_NAME("aui"))
#endif #endif
#if wxUSE_LIBPNG #if wxUSE_RICHTEXT
#pragma comment(lib,"wxpngd") #pragma comment(lib, wxMSW_LIB_NAME("richtext"))
#endif #endif
#if wxUSE_LIBTIFF #if wxUSE_MEDIACTRL
#pragma comment(lib,"wxtiffd") #pragma comment(lib, wxMSW_LIB_NAME("media"))
#endif #endif
#if wxUSE_ZLIB #if wxUSE_ODBC
#pragma comment(lib,"wxzlibd") #pragma comment(lib, wxMSW_LIB_NAME("odbc"))
#endif #endif
#pragma comment(lib,"wxmsw29ud_adv") #endif // wxUSE_GUI
#pragma comment(lib,"wxmsw29ud_core")
#pragma comment(lib,"wxmsw29ud_html")
#if wxUSE_GLCANVAS
#pragma comment(lib,"wxmsw29ud_gl")
#endif
#if wxUSE_DEBUGREPORT
#pragma comment(lib,"wxmsw29ud_qa")
#endif
#if wxUSE_XRC
#pragma comment(lib,"wxmsw29ud_xrc")
#endif
#if wxUSE_AUI
#pragma comment(lib,"wxmsw29ud_aui")
#endif
#if wxUSE_RICHTEXT
#pragma comment(lib,"wxmsw29ud_richtext")
#endif
#if wxUSE_MEDIACTRL
#pragma comment(lib,"wxmsw29ud_media")
#endif
#if wxUSE_ODBC
#pragma comment(lib,"wxbase29ud_odbc")
#endif
#endif // wxUSE_GUI
#else // release
#pragma comment(lib,"wxbase29u")
#pragma comment(lib,"wxbase29u_net")
#pragma comment(lib,"wxbase29u_xml")
#if wxUSE_REGEX
#pragma comment(lib,"wxregexu")
#endif
#if wxUSE_GUI
#if wxUSE_XML
#pragma comment(lib,"wxexpat")
#endif
#if wxUSE_LIBJPEG
#pragma comment(lib,"wxjpeg")
#endif
#if wxUSE_LIBPNG
#pragma comment(lib,"wxpng")
#endif
#if wxUSE_LIBTIFF
#pragma comment(lib,"wxtiff")
#endif
#if wxUSE_ZLIB
#pragma comment(lib,"wxzlib")
#endif
#pragma comment(lib,"wxmsw29u_adv")
#pragma comment(lib,"wxmsw29u_core")
#pragma comment(lib,"wxmsw29u_html")
#if wxUSE_GLCANVAS
#pragma comment(lib,"wxmsw29u_gl")
#endif
#if wxUSE_DEBUGREPORT
#pragma comment(lib,"wxmsw29u_qa")
#endif
#if wxUSE_XRC
#pragma comment(lib,"wxmsw29u_xrc")
#endif
#if wxUSE_AUI
#pragma comment(lib,"wxmsw29u_aui")
#endif
#if wxUSE_RICHTEXT
#pragma comment(lib,"wxmsw29u_richtext")
#endif
#if wxUSE_MEDIACTRL
#pragma comment(lib,"wxmsw29u_media")
#endif
#if wxUSE_ODBC
#pragma comment(lib,"wxbase29u_odbc")
#endif
#endif // wxUSE_GUI
#endif // debug/release
#else // !_UNICODE
#ifdef WXUSINGDLL
#ifdef _DEBUG
#include "../../../lib/vc_dll/mswd/wx/setup.h"
#else
#include "../../../lib/vc_dll/msw/wx/setup.h"
#endif
#else // static lib
#ifdef _DEBUG
#include "../../../lib/vc_lib/mswd/wx/setup.h"
#else
#include "../../../lib/vc_lib/msw/wx/setup.h"
#endif
#endif // shared/static
#ifdef _DEBUG
#pragma comment(lib,"wxbase29d")
#pragma comment(lib,"wxbase29d_net")
#pragma comment(lib,"wxbase29d_xml")
#if wxUSE_REGEX
#pragma comment(lib,"wxregexd")
#endif
#if wxUSE_GUI
#if wxUSE_XML
#pragma comment(lib,"wxexpatd")
#endif
#if wxUSE_LIBJPEG
#pragma comment(lib,"wxjpegd")
#endif
#if wxUSE_LIBPNG
#pragma comment(lib,"wxpngd")
#endif
#if wxUSE_LIBTIFF
#pragma comment(lib,"wxtiffd")
#endif
#if wxUSE_ZLIB
#pragma comment(lib,"wxzlibd")
#endif
#pragma comment(lib,"wxmsw29d_adv")
#pragma comment(lib,"wxmsw29d_core")
#pragma comment(lib,"wxmsw29d_html")
#if wxUSE_GLCANVAS
#pragma comment(lib,"wxmsw29d_gl")
#endif
#if wxUSE_DEBUGREPORT
#pragma comment(lib,"wxmsw29d_qa")
#endif
#if wxUSE_XRC
#pragma comment(lib,"wxmsw29d_xrc")
#endif
#if wxUSE_AUI
#pragma comment(lib,"wxmsw29d_aui")
#endif
#if wxUSE_RICHTEXT
#pragma comment(lib,"wxmsw29d_richtext")
#endif
#if wxUSE_MEDIACTRL
#pragma comment(lib,"wxmsw29d_media")
#endif
#if wxUSE_ODBC
#pragma comment(lib,"wxbase29d_odbc")
#endif
#endif // wxUSE_GUI
#else // release
#pragma comment(lib,"wxbase29")
#pragma comment(lib,"wxbase29_net")
#pragma comment(lib,"wxbase29_xml")
#if wxUSE_REGEX
#pragma comment(lib,"wxregex")
#endif
#if wxUSE_GUI
#if wxUSE_XML
#pragma comment(lib,"wxexpat")
#endif
#if wxUSE_LIBJPEG
#pragma comment(lib,"wxjpeg")
#endif
#if wxUSE_LIBPNG
#pragma comment(lib,"wxpng")
#endif
#if wxUSE_LIBTIFF
#pragma comment(lib,"wxtiff")
#endif
#if wxUSE_ZLIB
#pragma comment(lib,"wxzlib")
#endif
#pragma comment(lib,"wxmsw29_adv")
#pragma comment(lib,"wxmsw29_core")
#pragma comment(lib,"wxmsw29_html")
#if wxUSE_GLCANVAS
#pragma comment(lib,"wxmsw29_gl")
#endif
#if wxUSE_DEBUGREPORT
#pragma comment(lib,"wxmsw29_qa")
#endif
#if wxUSE_XRC
#pragma comment(lib,"wxmsw29_xrc")
#endif
#if wxUSE_AUI
#pragma comment(lib,"wxmsw29_aui")
#endif
#if wxUSE_RICHTEXT
#pragma comment(lib,"wxmsw29_richtext")
#endif
#if wxUSE_MEDIACTRL
#pragma comment(lib,"wxmsw29_media")
#endif
#if wxUSE_ODBC
#pragma comment(lib,"wxbase29_odbc")
#endif
#endif // wxUSE_GUI
#endif // debug/release
#endif // _UNICODE/!_UNICODE
#else #else
#error "This file should only be included when using Microsoft Visual C++" #error "This file should only be included when using Microsoft Visual C++"
#endif #endif