From 058ccf24b7e5d758f5a3808dc65975e5b6831776 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 9 Dec 2020 20:08:30 +0100 Subject: [PATCH] Add support for using -platform and -arch cmd line switches for specific platforms data deploy --- Source/Tools/Flax.Build/Deploy/Deployer.cs | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/Source/Tools/Flax.Build/Deploy/Deployer.cs b/Source/Tools/Flax.Build/Deploy/Deployer.cs index 583b0004f..472a94c22 100644 --- a/Source/Tools/Flax.Build/Deploy/Deployer.cs +++ b/Source/Tools/Flax.Build/Deploy/Deployer.cs @@ -31,10 +31,21 @@ namespace Flax.Deploy if (Configuration.DeployPlatforms) { - BuildPlatform(TargetPlatform.Linux, TargetArchitecture.x64); - BuildPlatform(TargetPlatform.UWP, TargetArchitecture.x64); - BuildPlatform(TargetPlatform.Windows, TargetArchitecture.x64); - BuildPlatform(TargetPlatform.Android, TargetArchitecture.ARM64); + if (Configuration.BuildPlatforms == null || Configuration.BuildPlatforms.Length == 0) + { + BuildPlatform(TargetPlatform.Linux, TargetArchitecture.x64); + BuildPlatform(TargetPlatform.UWP, TargetArchitecture.x64); + BuildPlatform(TargetPlatform.Windows, TargetArchitecture.x64); + BuildPlatform(TargetPlatform.Android, TargetArchitecture.ARM64); + } + else + { + var architectures = Configuration.BuildArchitectures == null || Configuration.BuildArchitectures.Length == 0 ? Globals.AllArchitectures : Configuration.BuildArchitectures; + foreach (var platform in Configuration.BuildPlatforms) + { + BuildPlatform(platform, architectures); + } + } } } catch (Exception ex) @@ -115,9 +126,12 @@ namespace Flax.Deploy foreach (var architecture in architectures) { - FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Debug); - FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Development); - FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Release); + if (Platform.IsPlatformSupported(platform, architecture)) + { + FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Debug); + FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Development); + FlaxBuild.Build(Globals.EngineRoot, "FlaxGame", platform, architecture, TargetConfiguration.Release); + } } Deployment.Platforms.Package(platform);