Merge branch 'GoaLitiuM-faster_dev_builds'
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user