/// <summary>
        /// Register the platform with the UEBuildPlatform class
        /// </summary>
        protected override void RegisterBuildPlatforms()
        {
            LinuxPlatformSDK SDK = new LinuxPlatformSDK();

            SDK.ManageAndValidateSDK();

            if ((ProjectFileGenerator.bGenerateProjectFiles == true) || (SDK.HasRequiredSDKsInstalled() == SDKStatus.Valid))
            {
                bool bRegisterBuildPlatform = true;

                string EngineSourcePath        = Path.Combine(ProjectFileGenerator.RootRelativePath, "Engine", "Source");
                string LinuxTargetPlatformFile = Path.Combine(EngineSourcePath, "Developer", "Linux", "LinuxTargetPlatform", "LinuxTargetPlatform.Build.cs");

                if (File.Exists(LinuxTargetPlatformFile) == false)
                {
                    bRegisterBuildPlatform = false;
                }

                if (bRegisterBuildPlatform == true)
                {
                    // Register this build platform for Linux
                    if (BuildConfiguration.bPrintDebugInfo)
                    {
                        Console.WriteLine("        Registering for {0}", UnrealTargetPlatform.Linux.ToString());
                    }
                    UEBuildPlatform.RegisterBuildPlatform(new LinuxPlatform(SDK));
                    UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Unix);
                }
            }
        }
        /// <summary>
        /// Register the platform with the UEBuildPlatform class
        /// </summary>
        protected override void RegisterBuildPlatforms(SDKOutputLevel OutputLevel)
        {
            LinuxPlatformSDK SDK = new LinuxPlatformSDK();

            SDK.ManageAndValidateSDK(OutputLevel);

            if ((ProjectFileGenerator.bGenerateProjectFiles == true) || (SDK.HasRequiredSDKsInstalled() == SDKStatus.Valid))
            {
                FileReference LinuxTargetPlatformFile = FileReference.Combine(UnrealBuildTool.EngineSourceDirectory, "Developer", "Linux", "LinuxTargetPlatform", "LinuxTargetPlatform.Build.cs");
                if (FileReference.Exists(LinuxTargetPlatformFile))
                {
                    // Register this build platform for Linux
                    Log.TraceVerbose("        Registering for {0}", UnrealTargetPlatform.Linux.ToString());
                    UEBuildPlatform.RegisterBuildPlatform(new LinuxPlatform(SDK));
                    UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Unix);
                }
            }
        }
 /// <summary>
 /// Whether the required external SDKs are installed for this platform. Could be either a manual install or an AutoSDK.
 /// </summary>
 public override SDKStatus HasRequiredSDKsInstalled()
 {
     return(SDK.HasRequiredSDKsInstalled());
 }
		/// <summary>
		/// Register the platform with the UEBuildPlatform class
		/// </summary>
		protected override void RegisterBuildPlatforms()
		{
			LinuxPlatformSDK SDK = new LinuxPlatformSDK();
			SDK.ManageAndValidateSDK();

			if ((ProjectFileGenerator.bGenerateProjectFiles == true) || (SDK.HasRequiredSDKsInstalled() == SDKStatus.Valid))
			{
				bool bRegisterBuildPlatform = true;

				string EngineSourcePath = Path.Combine(ProjectFileGenerator.RootRelativePath, "Engine", "Source");
				string LinuxTargetPlatformFile = Path.Combine(EngineSourcePath, "Developer", "Linux", "LinuxTargetPlatform", "LinuxTargetPlatform.Build.cs");

				if (File.Exists(LinuxTargetPlatformFile) == false)
				{
					bRegisterBuildPlatform = false;
				}

				if (bRegisterBuildPlatform == true)
				{
					// Register this build platform for Linux
					if (BuildConfiguration.bPrintDebugInfo)
					{
						Console.WriteLine("        Registering for {0}", UnrealTargetPlatform.Linux.ToString());
					}
					UEBuildPlatform.RegisterBuildPlatform(new LinuxPlatform(SDK));
					UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Unix);
				}
			}
		}