Merge branch 'woa_support' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-woa_support

# Conflicts:
#	Source/ThirdParty/assimp/config.h.in
#	Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs
This commit is contained in:
Wojtek Figat
2024-07-24 19:03:53 +02:00
193 changed files with 13209 additions and 4368 deletions

View File

@@ -125,9 +125,7 @@ namespace Flax.Build
continue;
if (!platform.HasRequiredSDKsInstalled && (!projectInfo.IsCSharpOnlyProject || platform != Platform.BuildPlatform))
continue;
// Prevent generating configuration data for Windows x86
if (architecture == TargetArchitecture.x86 && targetPlatform == TargetPlatform.Windows)
if (!platform.CanBuildArchitecture(architecture))
continue;
string configurationText = targetName + '.' + platformName + '.' + configurationName;

View File

@@ -188,6 +188,16 @@ namespace Flax.Build
return false;
}
/// <summary>
/// Determines whether this platform can compile or cross-compile for the specified architecture.
/// </summary>
/// <param name="targetArchitecture">The architecture.</param>
/// <returns><c>true</c> if this platform can build the specified architecture; otherwise, <c>false</c>.</returns>
public virtual bool CanBuildArchitecture(TargetArchitecture targetArchitecture)
{
return IsPlatformSupported(Target, targetArchitecture);
}
/// <summary>
/// Gets the path to the output file for the linker.
/// </summary>
@@ -286,11 +296,24 @@ namespace Flax.Build
var subdir = "Binaries/Editor/";
switch (Platform.BuildTargetPlatform)
{
case TargetPlatform.Windows: return subdir + "Win64";
case TargetPlatform.Windows:
{
switch (Platform.BuildTargetArchitecture)
{
case TargetArchitecture.x64:
return subdir + "Win64";
case TargetArchitecture.x86:
return subdir + "Win32";
case TargetArchitecture.ARM64:
return subdir + "ARM64";
default:
throw new NotImplementedException($"{Platform.BuildTargetPlatform}: {Platform.BuildTargetArchitecture}");
}
}
case TargetPlatform.Linux: return subdir + "Linux";
case TargetPlatform.Mac: return subdir + "Mac";
}
throw new NotImplementedException();
throw new NotImplementedException(Platform.BuildTargetPlatform.ToString());
}
/// <summary>
@@ -306,7 +329,7 @@ namespace Flax.Build
switch (targetPlatform)
{
case TargetPlatform.Windows: return targetArchitecture == TargetArchitecture.x64 || targetArchitecture == TargetArchitecture.x86;
case TargetPlatform.Windows: return targetArchitecture == TargetArchitecture.x64 || targetArchitecture == TargetArchitecture.x86 || targetArchitecture == TargetArchitecture.ARM64;
case TargetPlatform.XboxScarlett: return targetArchitecture == TargetArchitecture.x64;
case TargetPlatform.XboxOne: return targetArchitecture == TargetArchitecture.x64;
case TargetPlatform.UWP: return targetArchitecture == TargetArchitecture.x64;