From b90d657bfdb5555aec2451f9b49b79691f00f369 Mon Sep 17 00:00:00 2001 From: Sylvain Audi Date: Wed, 4 Sep 2024 17:21:01 +0000 Subject: [PATCH] Fix and simplify bff Settings block We want the current machine settings even for cross-compilation --- .../FastBuild/Bff.Template.cs | 16 +++--------- Sharpmake.Generators/FastBuild/MasterBff.cs | 25 ++++++++----------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/Sharpmake.Generators/FastBuild/Bff.Template.cs b/Sharpmake.Generators/FastBuild/Bff.Template.cs index 5a7f76df1..fd96e8052 100644 --- a/Sharpmake.Generators/FastBuild/Bff.Template.cs +++ b/Sharpmake.Generators/FastBuild/Bff.Template.cs @@ -58,8 +58,7 @@ public static class ConfigurationFile "; public const string WinEnvironment = -@"#if __WINDOWS__[envRemoveGuards] - #import TMP +@" #import TMP #import TEMP #import USERPROFILE .Environment = @@ -71,31 +70,24 @@ public static class ConfigurationFile ""PATH=[fastBuildPATH]"" [envAdditionalVariables] } -#endif[envRemoveGuards] "; public const string OsxEnvironment = -@"#if __OSX__[envRemoveGuards] - #import TMPDIR +@" #import TMPDIR .Environment = { ""TMPDIR=$TMPDIR$"", ""PATH=[fastBuildPATH]"" [envAdditionalVariables] } -#endif[envRemoveGuards] "; - public const string OsxEnvironmentOnWindows = -@"#if __OSX__[envRemoveGuards] - #import TMP - .Environment = + public const string LinuxEnvironment = +@" .Environment = { - ""TMPDIR=$TMP$"", ""PATH=[fastBuildPATH]"" [envAdditionalVariables] } -#endif[envRemoveGuards] "; public static string MasmConfigNameSuffix = "Masm"; diff --git a/Sharpmake.Generators/FastBuild/MasterBff.cs b/Sharpmake.Generators/FastBuild/MasterBff.cs index 80546054b..16b30040b 100644 --- a/Sharpmake.Generators/FastBuild/MasterBff.cs +++ b/Sharpmake.Generators/FastBuild/MasterBff.cs @@ -641,23 +641,20 @@ private static void WriteMasterSettingsSection(FileGenerator masterBffGenerator, string envRemoveGuards = FileGeneratorUtilities.RemoveLineTag; string fastBuildEnvironments = string.Empty; - if (allDevEnv.Contains(DevEnv.xcode)) + + switch (Util.GetExecutingPlatform()) { - // we'll keep the #if guards if we have other devenv in the file - if (allDevEnv.Count > 1) - { - envRemoveGuards = string.Empty; + case Platform.win64: fastBuildEnvironments += Bff.Template.ConfigurationFile.WinEnvironment; - } - - if (Util.GetExecutingPlatform() == Platform.win64) - fastBuildEnvironments += Bff.Template.ConfigurationFile.OsxEnvironmentOnWindows; - else + break; + case Platform.mac: fastBuildEnvironments += Bff.Template.ConfigurationFile.OsxEnvironment; - } - else - { - fastBuildEnvironments += Bff.Template.ConfigurationFile.WinEnvironment; + break; + case Platform.linux: + fastBuildEnvironments += Bff.Template.ConfigurationFile.LinuxEnvironment; + break; + default: + throw new NotImplementedException($"Environment variables bff config not implemented for platform {Util.GetExecutingPlatform()}"); } string envAdditionalVariables = FileGeneratorUtilities.RemoveLineTag;