diff --git a/Sharpmake.Generators/FastBuild/Bff.Template.cs b/Sharpmake.Generators/FastBuild/Bff.Template.cs
index abd22b945..e2dd6ed8d 100644
--- a/Sharpmake.Generators/FastBuild/Bff.Template.cs
+++ b/Sharpmake.Generators/FastBuild/Bff.Template.cs
@@ -411,6 +411,7 @@ public static class ConfigurationFile
+ ' /errorReport:queue'
// Character Set
// ---------------------------
+ + ' [cmdLineOptions.TranslateIncludes]'
+ ' [cmdLineOptions.CharacterSet]'
// Additional compiler options
//--------------------------
diff --git a/Sharpmake.Generators/VisualStudio/ProjectOptionsGenerator.cs b/Sharpmake.Generators/VisualStudio/ProjectOptionsGenerator.cs
index c74a04d04..e20264682 100644
--- a/Sharpmake.Generators/VisualStudio/ProjectOptionsGenerator.cs
+++ b/Sharpmake.Generators/VisualStudio/ProjectOptionsGenerator.cs
@@ -498,6 +498,11 @@ private void GenerateCompilerOptions(IGenerationContext context, ProjectOptionsG
Options.Option(Options.Vc.General.DiagnosticsFormat.ColumnInfo, () => { context.Options["DiagnosticsFormat"] = "Column"; context.CommandLineOptions["DiagnosticsFormat"] = "/diagnostics:column"; })
);
+ context.SelectOption
+ (
+ Options.Option(Options.Vc.General.TreatAngleIncludeAsExternal.Enable, () => { context.Options["TreatAngleIncludeAsExternal"] = "true"; context.CommandLineOptions["TreatAngleIncludeAsExternal"] = "/external:anglebrackets"; }),
+ Options.Option(Options.Vc.General.TreatAngleIncludeAsExternal.Disable, () => { context.Options["TreatAngleIncludeAsExternal"] = FileGeneratorUtilities.RemoveLineTag; context.CommandLineOptions["TreatAngleIncludeAsExternal"] = FileGeneratorUtilities.RemoveLineTag; })
+ );
context.Options["TrackFileAccess"] = FileGeneratorUtilities.RemoveLineTag;
diff --git a/Sharpmake.Platforms/Sharpmake.CommonPlatforms/BasePlatform.Vcxproj.Template.cs b/Sharpmake.Platforms/Sharpmake.CommonPlatforms/BasePlatform.Vcxproj.Template.cs
index b8f7ac61b..b825b737b 100644
--- a/Sharpmake.Platforms/Sharpmake.CommonPlatforms/BasePlatform.Vcxproj.Template.cs
+++ b/Sharpmake.Platforms/Sharpmake.CommonPlatforms/BasePlatform.Vcxproj.Template.cs
@@ -175,6 +175,7 @@ public abstract partial class BasePlatform
[options.ConfigurationType]
[options.UseDebugLibraries]
[options.PreferredToolArchitecture]
+ [options.TranslateIncludes]
[options.CharacterSet]
[options.UseOfMfc]
[clrSupport]
diff --git a/Sharpmake/Options.Vc.cs b/Sharpmake/Options.Vc.cs
index 97165fabf..d1aa2a555 100644
--- a/Sharpmake/Options.Vc.cs
+++ b/Sharpmake/Options.Vc.cs
@@ -87,6 +87,19 @@ public enum WindowsTargetPlatformVersion
Latest, // latest available in host machine
}
+ ///
+ /// Translate Includes to Imports
+ ///
+ ///
+ /// Enables the compiler to translate #include directives into import directives for the available header units. (/translateInclude)
+ ///
+ public enum TranslateIncludes
+ {
+ Enable,
+ [Default]
+ Disable
+ }
+
///
/// Character Set
///