Files
FlaxEngine/Source/FlaxEditor.Build.cs
Wojtek Figat 14902dc29e Merge remote-tracking branch 'origin/master' into 1.8
# Conflicts:
#	Flax.flaxproj
2024-02-26 19:49:39 +01:00

73 lines
2.5 KiB
C#

// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System.IO;
using Flax.Build;
using Flax.Build.NativeCpp;
/// <summary>
/// The Flax Editor target that builds a standalone editor application.
/// </summary>
public class FlaxEditor : EngineTarget
{
/// <inheritdoc />
public override void Init()
{
base.Init();
IsEditor = true;
OutputName = "FlaxEditor";
ConfigurationName = "Editor";
IsPreBuilt = false;
Platforms = new[]
{
TargetPlatform.Windows,
TargetPlatform.Linux,
TargetPlatform.Mac,
};
Architectures = new[]
{
TargetArchitecture.x64,
TargetArchitecture.ARM64,
};
GlobalDefinitions.Add("USE_EDITOR");
Modules.Add("Editor");
Modules.Add("CSG");
Modules.Add("ShadowsOfMordor");
Modules.Add("ShadersCompilation");
Modules.Add("ContentExporters");
Modules.Add("ContentImporters");
}
/// <inheritdoc />
public override void SetupTargetEnvironment(BuildOptions options)
{
base.SetupTargetEnvironment(options);
// Setup output folder for Editor binaries
switch (options.Platform.Target)
{
case TargetPlatform.Windows:
switch (options.Architecture)
{
case TargetArchitecture.x64:
options.OutputFolder = Path.Combine(options.WorkingDirectory, "Binaries", "Editor", "Win64", options.Configuration.ToString());
break;
case TargetArchitecture.x86:
options.OutputFolder = Path.Combine(options.WorkingDirectory, "Binaries", "Editor", "Win32", options.Configuration.ToString());
break;
default: throw new InvalidArchitectureException(options.Architecture, "Not supported Editor architecture.");
}
break;
case TargetPlatform.Linux:
options.OutputFolder = Path.Combine(options.WorkingDirectory, "Binaries", "Editor", "Linux", options.Configuration.ToString());
options.DependencyFiles.Add(Path.Combine(Globals.EngineRoot, "Source", "Logo.png"));
break;
case TargetPlatform.Mac:
options.OutputFolder = Path.Combine(options.WorkingDirectory, "Binaries", "Editor", "Mac", options.Configuration.ToString());
break;
default: throw new InvalidPlatformException(options.Platform.Target, "Not supported Editor platform.");
}
}
}