Project('CONFIG += wx');
}
if ( Config("wx") ) {
- #! VC 6.0 supports env vars in include path
- #! $WXDIR = $ENV{'WX'};
- if ( $ENV{'wx'} ) { $WXDIR = "\$(wx)"; }
- else { $WXDIR = "\$(WXWIN)"; }
- $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_SUFFIX="d";
+ $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_SUFFIX="";
- $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";
if ( Config("wx") ) {
$vc_base_libs .= "comctl32.lib rpcrt4.lib wsock32.lib ";
- $vc_link_release = "$WXDIR\\Release$DLL\\$DLL_OR_LIB.lib ";
- $vc_link_debug = "$WXDIR\\Debug$DLL\\$DLL_OR_LIB$DLL_SUFFIX.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';
- foreach ( split(/ /, Project('LIBPATH')) ) {
- $vc_link_release .= " /libpath:$_\\Release";
- $vc_link_debug .= " /libpath:$_\\Debug";
- }
-
- $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 {
$vc_base_libs = 'kernel32.lib user32.lib advapi32.lib ';
if ( Config("wx") ) {
$vc_base_libs .= 'wsock32.lib ';
- $vc_link_release = "$WXDIR\\Base${DLL}Release\\$DLL_OR_LIB.lib ";
- $vc_link_debug = "$WXDIR\\Base${DLL}Debug\\$DLL_OR_LIB" . "d.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" ';
}
#! 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;
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release#$ $text = "$DLL" . '"'
-# PROP BASE Intermediate_Dir "Release#$ $text = "$DLL" . '"'
+# 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#$ $text = "$DLL" . '"'
-# PROP Intermediate_Dir "Release#$ $text = "$DLL" . '"'
+# 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");
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug#$ $text = "$DLL" . '"'
-# PROP BASE Intermediate_Dir "Debug#$ $text = "$DLL" . '"'
+# 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#$ $text = "$DLL" . '"'
-# PROP Intermediate_Dir "Debug#$ $text = "$DLL" . '"'
+# 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");