diff --git a/Tools/projectGenerator/classes/Generator.php b/Tools/projectGenerator/classes/Generator.php
index fde25460d..586936e3d 100644
--- a/Tools/projectGenerator/classes/Generator.php
+++ b/Tools/projectGenerator/classes/Generator.php
@@ -255,10 +255,16 @@ class Generator
array_push( self::$project_cur->lib_dirs, $dir );
}
- static function addProjectLibInput( $lib )
+ static function addProjectLibInput( $lib, $libDebug = null )
{
array_push( self::$project_cur->libs, $lib );
+ array_push( self::$project_cur->libsDebug, $libDebug != null ? $libDebug : $lib );
}
+
+ static function addProjectIgnoreDefaultLib( $lib )
+ {
+ array_push( self::$project_cur->libsIgnore, $lib );
+ }
static function includeLib( $lib )
{
diff --git a/Tools/projectGenerator/classes/Project.php b/Tools/projectGenerator/classes/Project.php
index 6d409aef7..d94749a78 100644
--- a/Tools/projectGenerator/classes/Project.php
+++ b/Tools/projectGenerator/classes/Project.php
@@ -44,6 +44,8 @@ class Project
public $disabledWarnings; // Additional warnings to disable
public $includes; // Additional include paths
public $libs; // Additional libraries to link against
+ public $libsDebug; // Additional Debug build libraries to link against
+ public $libsIgnore; // Ignore Specific Default Libraries
public $lib_dirs; // Additional library search paths
public $lib_includes; // libs to include (generated by modules)
public $additionalExePath; // Additional section to inject into executable path
@@ -81,6 +83,8 @@ class Project
$this->defines = array();
$this->includes = array();
$this->libs = array();
+ $this->libsDebug = array();
+ $this->libsIgnore = array();
$this->lib_dirs = array();
$this->lib_includes = array();
$this->outputs = array();
@@ -330,6 +334,8 @@ class Project
$tpl->assign_by_ref( 'projDisabledWarnings', $this->disabledWarnings );
$tpl->assign_by_ref( 'projIncludes', $this->includes );
$tpl->assign_by_ref( 'projLibs', $this->libs );
+ $tpl->assign_by_ref( 'projLibsDebug',$this->libsDebug);
+ $tpl->assign_by_ref( 'projLibsIgnore',$this->libsIgnore);
$tpl->assign_by_ref( 'projLibDirs', $this->lib_dirs );
$tpl->assign_by_ref( 'projDepend', $this->dependencies );
$tpl->assign_by_ref( 'gameProjectName', $gameProjectName );
diff --git a/Tools/projectGenerator/projectGenUtils.inc b/Tools/projectGenerator/projectGenUtils.inc
index e5d066495..b82657827 100644
--- a/Tools/projectGenerator/projectGenUtils.inc
+++ b/Tools/projectGenerator/projectGenUtils.inc
@@ -305,9 +305,14 @@ function addProjectLibDir( $dir )
Generator::addProjectLibDir( $dir );
}
-function addProjectLibInput( $lib_name )
+function addProjectLibInput( $lib_name, $libDebug = null )
{
- Generator::addProjectLibInput( $lib_name );
+ Generator::addProjectLibInput( $lib_name, $libDebug );
+}
+
+function addProjectIgnoreDefaultLib( $lib )
+{
+ Generator::addProjectIgnoreDefaultLib( $lib );
}
function addProjectDependency( $pd )
diff --git a/Tools/projectGenerator/templates/vc2010_dll_proj.tpl b/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
index a59461590..cd520d051 100644
--- a/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
+++ b/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
@@ -95,11 +95,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_DEBUG.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
true
$(IntDir)$(ProjectName).pdb
@@ -147,11 +147,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_OPTIMIZEDDEBUG.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
true
$(IntDir)$(ProjectName).pdb
@@ -203,7 +203,7 @@
$(OutDir){$projOutName}.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
false
$(IntDir)$(ProjectName).pdb
diff --git a/Tools/projectGenerator/templates/vc2010_proj.tpl b/Tools/projectGenerator/templates/vc2010_proj.tpl
index 18fa80c98..2067c3012 100644
--- a/Tools/projectGenerator/templates/vc2010_proj.tpl
+++ b/Tools/projectGenerator/templates/vc2010_proj.tpl
@@ -95,11 +95,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_DEBUG.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
true
$(IntDir)$(ProjectName).pdb
@@ -147,11 +147,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_OPTIMIZEDDEBUG.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
true
$(IntDir)$(ProjectName).pdb
@@ -203,7 +203,7 @@
$(OutDir){$projOutName}.dll
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
{$projModuleDefinitionFile}
false
$(IntDir)$(ProjectName).pdb
diff --git a/Tools/projectGenerator/templates/vc2010_shared.tpl b/Tools/projectGenerator/templates/vc2010_shared.tpl
index f94cb2c07..9cd2df58a 100644
--- a/Tools/projectGenerator/templates/vc2010_shared.tpl
+++ b/Tools/projectGenerator/templates/vc2010_shared.tpl
@@ -95,11 +95,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_DEBUG.exe
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
true
$(IntDir)$(ProjectName).pdb
{if $projSubSystem == 1}Console{else}Windows{/if}
@@ -146,11 +146,11 @@
{foreach item=def from=$projIncludes}{$def};{/foreach}%(AdditionalIncludeDirectories)
- {foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)
+ {foreach item=def from=$projLibsDebug}{$def};{/foreach}%(AdditionalDependencies)
$(OutDir){$projOutName}_OPTIMIZEDDEBUG.exe
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
true
$(IntDir)$(ProjectName).pdb
{if $projSubSystem == 1}Console{else}Windows{/if}
@@ -201,7 +201,7 @@
$(OutDir){$projOutName}.exe
true
{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)
- LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)
+ LIBC;LIBCD;{foreach item=def from=$projLibsIgnore}{$def};{/foreach}%(IgnoreSpecificDefaultLibraries)
false
$(IntDir)$(ProjectName).pdb
{if $projSubSystem == 1}Console{else}Windows{/if}
diff --git a/Tools/projectGenerator/templates/vc2k8_dll_proj.tpl b/Tools/projectGenerator/templates/vc2k8_dll_proj.tpl
index b550752d8..f9d02a7eb 100644
--- a/Tools/projectGenerator/templates/vc2k8_dll_proj.tpl
+++ b/Tools/projectGenerator/templates/vc2k8_dll_proj.tpl
@@ -78,7 +78,7 @@
/>
-
+