From 58e45036a502b52eb9e247407ce1874a57292379 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 9 Dec 2020 20:07:49 +0100 Subject: [PATCH] Add reusable lists with all platforms, architectures and configurations for Flax.Build targets --- Source/Tools/Flax.Build/Build/Target.cs | 26 ++------------- Source/Tools/Flax.Build/Deps/DepsBuilder.cs | 11 +------ Source/Tools/Flax.Build/Globals.cs | 35 +++++++++++++++++++++ 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/Source/Tools/Flax.Build/Build/Target.cs b/Source/Tools/Flax.Build/Build/Target.cs index 2d43acfd7..211d23edc 100644 --- a/Source/Tools/Flax.Build/Build/Target.cs +++ b/Source/Tools/Flax.Build/Build/Target.cs @@ -119,37 +119,17 @@ namespace Flax.Build /// /// The target platforms. /// - public TargetPlatform[] Platforms = - { - TargetPlatform.Windows, - TargetPlatform.UWP, - TargetPlatform.XboxOne, - TargetPlatform.Linux, - TargetPlatform.PS4, - TargetPlatform.XboxScarlett, - TargetPlatform.Android, - }; + public TargetPlatform[] Platforms = Globals.AllPlatforms; /// /// The target platform architectures. /// - public TargetArchitecture[] Architectures = - { - TargetArchitecture.x64, - TargetArchitecture.x86, - TargetArchitecture.ARM, - TargetArchitecture.ARM64, - }; + public TargetArchitecture[] Architectures = Globals.AllArchitectures; /// /// The target build configurations. /// - public TargetConfiguration[] Configurations = - { - TargetConfiguration.Debug, - TargetConfiguration.Development, - TargetConfiguration.Release, - }; + public TargetConfiguration[] Configurations = Globals.AllConfigurations; /// /// The custom prefix for the target configuration. Null value indicates the project name as a prefix (or gathered from CustomExternalProjectFilePath). diff --git a/Source/Tools/Flax.Build/Deps/DepsBuilder.cs b/Source/Tools/Flax.Build/Deps/DepsBuilder.cs index 6a829fb73..036c103c7 100644 --- a/Source/Tools/Flax.Build/Deps/DepsBuilder.cs +++ b/Source/Tools/Flax.Build/Deps/DepsBuilder.cs @@ -31,16 +31,7 @@ namespace Flax.Deps var depsToBuild = string.IsNullOrEmpty(Configuration.DepsToBuild) ? new string[0] : Configuration.DepsToBuild.Trim().ToLower().Split(','); // Pick platforms for build - var platforms = new[] - { - TargetPlatform.Windows, - TargetPlatform.UWP, - TargetPlatform.XboxOne, - TargetPlatform.Linux, - TargetPlatform.PS4, - TargetPlatform.XboxScarlett, - TargetPlatform.Android, - }; + var platforms = Globals.AllPlatforms; if (Configuration.BuildPlatforms != null && Configuration.BuildPlatforms.Length != 0) platforms = Configuration.BuildPlatforms; platforms = platforms.Where(x => buildPlatform.CanBuildPlatform(x)).ToArray(); diff --git a/Source/Tools/Flax.Build/Globals.cs b/Source/Tools/Flax.Build/Globals.cs index 19622328d..c4930d205 100644 --- a/Source/Tools/Flax.Build/Globals.cs +++ b/Source/Tools/Flax.Build/Globals.cs @@ -21,5 +21,40 @@ namespace Flax.Build /// The project loaded from the workspace directory. /// public static ProjectInfo Project; + + /// + /// All platforms array. + /// + public static readonly TargetPlatform[] AllPlatforms = + { + TargetPlatform.Windows, + TargetPlatform.UWP, + TargetPlatform.XboxOne, + TargetPlatform.Linux, + TargetPlatform.PS4, + TargetPlatform.XboxScarlett, + TargetPlatform.Android, + }; + + /// + /// All architectures array. + /// + public static readonly TargetArchitecture[] AllArchitectures = + { + TargetArchitecture.x64, + TargetArchitecture.x86, + TargetArchitecture.ARM, + TargetArchitecture.ARM64, + }; + + /// + /// All configurations array. + /// + public static readonly TargetConfiguration[] AllConfigurations = + { + TargetConfiguration.Debug, + TargetConfiguration.Development, + TargetConfiguration.Release, + }; } }