// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. using System.IO; using Flax.Build; using Flax.Build.NativeCpp; /// /// The Flax Editor target that builds a standalone editor application. /// public class FlaxEditor : EngineTarget { /// public override void Init() { base.Init(); // Initialize IsEditor = true; OutputName = "FlaxEditor"; ConfigurationName = "Editor"; IsPreBuilt = false; Platforms = new[] { TargetPlatform.Windows, }; Architectures = new[] { TargetArchitecture.x64, }; GlobalDefinitions.Add("USE_EDITOR"); Win32ResourceFile = Path.Combine(Globals.EngineRoot, "Source", "FlaxEditor.rc"); Modules.Add("Editor"); Modules.Add("CSG"); Modules.Add("ShadowsOfMordor"); Modules.Add("ShadersCompilation"); Modules.Add("ContentExporters"); Modules.Add("ContentImporters"); } /// public override void SetupTargetEnvironment(BuildOptions options) { base.SetupTargetEnvironment(options); 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; default: throw new InvalidPlatformException(options.Platform.Target, "Not supported Editor platform."); } } }