X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..30954328be6e8261886c60cf509cbf303fd279bf:/distrib/msw/tmake/vcapp.t diff --git a/distrib/msw/tmake/vcapp.t b/distrib/msw/tmake/vcapp.t index afc6a86cea..e54adff94a 100644 --- a/distrib/msw/tmake/vcapp.t +++ b/distrib/msw/tmake/vcapp.t @@ -28,22 +28,50 @@ Project('CONFIG += wx'); } if ( Config("wx") ) { - #! VC 6.0 supports env vars in include path - #! $WXDIR = $ENV{'WX'}; - $WXDIR = "\$(WX)"; - $TMAKE_INCDIR_WX = $WXDIR . "\\include"; - AddIncludePath($TMAKE_INCDIR_WX); + if ( Config("wxnodir") ) { + $WXDIR = "..\\.."; + } + else { + #! VC 6.0 supports env vars in include path + #! $WXDIR = $ENV{'WX'}; + if ( $ENV{'wx'} ) { $WXDIR = "\$(wx)"; } + else { $WXDIR = "\$(WXWIN)"; } + } + + AddIncludePath($WXDIR . "\\include"); + } + + if ( Config("unicode") ) { + $UNICODE="Unicode"; + $UNICODE_SUFFIX="u"; + $UNICODE_FLAGS="/D _UNICODE /D UNICODE "; + + $project{"TARGET"} .= "Unicode"; + $project{"MAKEFILE"} .= "Unicode"; + } + else { + $UNICODE=""; + $UNICODE_SUFFIX=""; + $UNICODE_FLAGS=" "; } if ( Config("dll") ) { $DLL="Dll"; - $DLL_OR_LIB="wxWinDll"; + $DEBUG_SUFFIX="d"; + $DLL_OR_LIB=(Config("wxbase") ? "wxbase" : "wxmsw") . "221"; $DLL_FLAGS="/D WXUSINGDLL "; + $EXTRA_LIBS=""; + + $project{"TARGET"} .= "Dll"; + $project{"MAKEFILE"} .= "Dll"; } else { $DLL=""; - $DLL_OR_LIB="wxWindows"; + $DEBUG_SUFFIX=""; + $DLL_OR_LIB=Config("wxbase") ? "wxBase" : "wxWindows"; $DLL_FLAGS=" "; + #! actually this depends on the contents of setup.h + $EXTRA_LIBS=Config("wxbase") ? "" : "xpm zlib png jpeg tiff"; } #! let's be smarter: first of all, if no extension is given, add .lib @@ -64,13 +92,17 @@ if ( Config("wx") ) { $vc_base_libs .= "comctl32.lib rpcrt4.lib wsock32.lib "; - $vc_link_release = "$WXDIR\\Release$DLL\\$DLL_OR_LIB.lib $WXDIR\\src\\xpm\\Release\\xpm.lib "; - $vc_link_debug = "$WXDIR\\Debug$DLL\\$DLL_OR_LIB.lib $WXDIR\\src\\xpm\\Debug\\xpm.lib "; + $vc_link_release = "$WXDIR\\Release$UNICODE$DLL\\$DLL_OR_LIB$UNICODE_SUFFIX.lib "; + $vc_link_debug = "$WXDIR\\Debug$UNICODE$DLL\\$DLL_OR_LIB$UNICODE_SUFFIX$DEBUG_SUFFIX.lib "; + foreach ( split(/ /, $EXTRA_LIBS) ) { + $vc_link_release .= "$WXDIR\\src\\$_\\Release\\$_.lib "; + $vc_link_debug .= "$WXDIR\\src\\$_\\Debug\\$_.lib "; + } } $vc_link_release .= '/nologo /subsystem:windows /machine:I386'; $vc_link_debug .= '/nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept'; - $vc_cpp_def_common = '/D "WIN32" /D "_WINDOWS" ' . $DLL_FLAGS; + $vc_cpp_def_common = '/D "WIN32" /D "_WINDOWS" ' . $UNICODE_FLAGS . $DLL_FLAGS; $vc_cpp_def_release = '/D "NDEBUG" ' . $vc_cpp_def_common; $vc_cpp_def_debug = '/D "_DEBUG" ' . $vc_cpp_def_common; } else { @@ -79,16 +111,22 @@ $vc_base_libs = 'kernel32.lib user32.lib advapi32.lib '; if ( Config("wx") ) { $vc_base_libs .= 'wsock32.lib '; - $vc_link_release = "$WXDIR\\Base${DLL}Release\\wxBase$DLL.lib "; - $vc_link_debug = "$WXDIR\\Base${DLL}Debug\\wxBase$DLL.lib "; + $vc_link_release = "$WXDIR\\BaseRelease$UNICODE$DLL\\$DLL_OR_LIB$UNICODE_SUFFIX.lib "; + $vc_link_debug = "$WXDIR\\BaseDebug$UNICODE$DLL\\$DLL_OR_LIB$UNICODE_SUFFIX$DEBUG_SUFFIX.lib "; } $vc_link_release .= '/nologo /subsystem:console /machine:I386'; $vc_link_debug .= '/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept'; - $vc_cpp_def_common = '/D "WIN32" /D "_CONSOLE" ' . $DLL_FLAGS; + $vc_cpp_def_common = '/D "WIN32" /D "_CONSOLE" ' . $UNICODE_FLAGS . $DLL_FLAGS; $vc_cpp_def_release = '/D "NDEBUG" ' . $vc_cpp_def_common; $vc_cpp_def_debug = '/D "_DEBUG" ' . $vc_cpp_def_common; } + + foreach ( split(/ /, Project('LIBPATH')) ) { + $vc_link_release .= " /libpath:$_\\Release"; + $vc_link_debug .= " /libpath:$_\\Debug"; + } + #! define wxWin debug flags in debug build if ( Config("wx") ) { $vc_cpp_def_debug .= '/MDd /D "__WXDEBUG__" /D "WXDEBUG=1" '; @@ -107,7 +145,7 @@ } #! else: disable C++ exception handling for wxWindows - $vc_cpp_opt_release = $vc_cpp_opt_common1 . '/O2 '; + $vc_cpp_opt_release = $vc_cpp_opt_common1 . '/O1 '; $vc_cpp_opt_debug = $vc_cpp_opt_common1 . '/Zi /Od '; $vc_cpp_opt_common = '/YX /FD /c'; $project{"VC_BASE_CPP_RELEASE"} = $vc_cpp_opt_release . $vc_cpp_def_release . $vc_cpp_opt_common; @@ -205,13 +243,13 @@ RSC=rc.exe # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" +# PROP BASE Output_Dir "Release#$ $text = "$UNICODE$DLL" . '"' +# PROP BASE Intermediate_Dir "Release#$ $text = "$UNICODE$DLL" . '"' # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" +# PROP Output_Dir "Release#$ $text = "$UNICODE$DLL" . '"' +# PROP Intermediate_Dir "Release#$ $text = "$UNICODE$DLL" . '"' #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0'); # PROP Target_Dir "" # ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE"); @@ -233,13 +271,13 @@ LINK32=link.exe # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Output_Dir "Debug#$ $text = "$UNICODE$DLL" . '"' +# PROP BASE Intermediate_Dir "Debug#$ $text = "$UNICODE$DLL" . '"' # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" +# PROP Output_Dir "Debug#$ $text = "$UNICODE$DLL" . '"' +# PROP Intermediate_Dir "Debug#$ $text = "$UNICODE$DLL" . '"' #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0'); # PROP Target_Dir "" # ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");