From d901c115704456b6b2bddd473fc79de00fc00ed8 Mon Sep 17 00:00:00 2001 From: GoaLitiuM Date: Wed, 13 Jan 2021 20:37:19 +0200 Subject: [PATCH] Add compile flag for whole program optimization --- .../Tools/Flax.Build/Build/NativeCpp/CompileEnvironment.cs | 6 ++++++ .../Flax.Build/Platforms/Windows/WindowsToolchainBase.cs | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Source/Tools/Flax.Build/Build/NativeCpp/CompileEnvironment.cs b/Source/Tools/Flax.Build/Build/NativeCpp/CompileEnvironment.cs index b1159db1c..9939cea53 100644 --- a/Source/Tools/Flax.Build/Build/NativeCpp/CompileEnvironment.cs +++ b/Source/Tools/Flax.Build/Build/NativeCpp/CompileEnvironment.cs @@ -56,6 +56,11 @@ namespace Flax.Build.NativeCpp /// public bool Optimization = false; + /// + /// Enables the whole program optimization. + /// + public bool WholeProgramOptimization = false; + /// /// Enables functions level linking support. /// @@ -131,6 +136,7 @@ namespace Flax.Build.NativeCpp RuntimeTypeInfo = RuntimeTypeInfo, Inlining = Inlining, Optimization = Optimization, + WholeProgramOptimization = WholeProgramOptimization, FunctionLevelLinking = FunctionLevelLinking, DebugInformation = DebugInformation, UseDebugCRT = UseDebugCRT, diff --git a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs index 0917b5027..79581e391 100644 --- a/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs +++ b/Source/Tools/Flax.Build/Platforms/Windows/WindowsToolchainBase.cs @@ -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 {