Merge branch 'GoaLitiuM-faster_dev_builds'

This commit is contained in:
Wojtek Figat
2021-01-26 23:47:10 +01:00
3 changed files with 17 additions and 7 deletions

View File

@@ -56,6 +56,11 @@ namespace Flax.Build.NativeCpp
/// </summary>
public bool Optimization = false;
/// <summary>
/// Enables the whole program optimization.
/// </summary>
public bool WholeProgramOptimization = false;
/// <summary>
/// Enables functions level linking support.
/// </summary>
@@ -131,6 +136,7 @@ namespace Flax.Build.NativeCpp
RuntimeTypeInfo = RuntimeTypeInfo,
Inlining = Inlining,
Optimization = Optimization,
WholeProgramOptimization = WholeProgramOptimization,
FunctionLevelLinking = FunctionLevelLinking,
DebugInformation = DebugInformation,
UseDebugCRT = UseDebugCRT,

View File

@@ -256,6 +256,7 @@ namespace Flax.Build
options.CompileEnv.IntrinsicFunctions = false;
options.CompileEnv.BufferSecurityCheck = true;
options.CompileEnv.Inlining = false;
options.CompileEnv.WholeProgramOptimization = false;
options.LinkEnv.DebugInformation = true;
options.LinkEnv.LinkTimeCodeGeneration = false;
@@ -273,11 +274,11 @@ namespace Flax.Build
options.CompileEnv.IntrinsicFunctions = true;
options.CompileEnv.BufferSecurityCheck = true;
options.CompileEnv.Inlining = true;
//options.CompileEnv.WholeProgramOptimization = true;
options.CompileEnv.WholeProgramOptimization = false;
options.LinkEnv.DebugInformation = true;
options.LinkEnv.LinkTimeCodeGeneration = true;
options.LinkEnv.UseIncrementalLinking = false;
options.LinkEnv.LinkTimeCodeGeneration = false;
options.LinkEnv.UseIncrementalLinking = true;
options.LinkEnv.Optimization = true;
break;
case TargetConfiguration.Release:
@@ -291,7 +292,7 @@ namespace Flax.Build
options.CompileEnv.IntrinsicFunctions = true;
options.CompileEnv.BufferSecurityCheck = false;
options.CompileEnv.Inlining = true;
//options.CompileEnv.WholeProgramOptimization = true;
options.CompileEnv.WholeProgramOptimization = true;
options.LinkEnv.DebugInformation = false;
options.LinkEnv.LinkTimeCodeGeneration = true;

View File

@@ -467,8 +467,11 @@ namespace Flax.Build.Platforms
// Frame-Pointer Omission
commonArgs.Add("/Oy");
// Whole Program Optimization
commonArgs.Add("/GL");
if (compileEnvironment.WholeProgramOptimization)
{
// Whole Program Optimization
commonArgs.Add("/GL");
}
}
else
{
@@ -721,7 +724,7 @@ namespace Flax.Build.Platforms
args.Add("/PDBALTPATH:%_PDB%");
// Optimize
if (linkEnvironment.Optimization)
if (linkEnvironment.Optimization && !linkEnvironment.UseIncrementalLinking)
{
// Generate an EXE checksum
args.Add("/RELEASE");