/// <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> public override void RegisterBuildPlatforms() { LinuxPlatformSDK SDK = new LinuxPlatformSDK(); SDK.ManageAndValidateSDK(); // Register this build platform for Linux x86-64 and AArch64 UEBuildPlatform.RegisterBuildPlatform(new LinuxPlatform(UnrealTargetPlatform.Linux, SDK)); UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Linux); UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Unix); UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.Linux, UnrealPlatformGroup.Desktop); UEBuildPlatform.RegisterBuildPlatform(new LinuxPlatform(UnrealTargetPlatform.LinuxAArch64, SDK)); UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.LinuxAArch64, UnrealPlatformGroup.Linux); UEBuildPlatform.RegisterPlatformWithGroup(UnrealTargetPlatform.LinuxAArch64, 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> /// Returns a path to the internal SDK /// </summary> /// <returns>Valid path to the internal SDK, null otherwise</returns> static public string GetInternalSDKPath() { string SDKRoot = Environment.GetEnvironmentVariable(SDKRootEnvVar); if (!String.IsNullOrEmpty(SDKRoot)) { string AutoSDKPath = Path.Combine(SDKRoot, "Host" + BuildHostPlatform.Current.Platform, TargetPlatformName, ExpectedSDKVersion, LinuxPlatform.DefaultHostArchitecture); if (DirectoryReference.Exists(new DirectoryReference(AutoSDKPath))) { return(AutoSDKPath); } } string InTreeSDKPath = Path.Combine(LinuxPlatformSDK.GetInTreeSDKRoot().FullName, ExpectedSDKVersion, LinuxPlatform.DefaultHostArchitecture); if (DirectoryReference.Exists(new DirectoryReference(InTreeSDKPath))) { return(InTreeSDKPath); } return(null); }
public static string WhichClang() { string InternalSDKPath = LinuxPlatformSDK.GetInternalSDKPath(); if (!String.IsNullOrEmpty(InternalSDKPath)) { return(Path.Combine(InternalSDKPath, "bin", "clang++")); } string[] ClangNames = { "clang++", "clang++-7.0", "clang++-6.0" }; string ClangPath; foreach (string ClangName in ClangNames) { ClangPath = Which(ClangName); if (!String.IsNullOrEmpty(ClangPath)) { return(ClangPath); } } return(null); }
public LinuxPlatform(UnrealTargetPlatform UnrealTarget, CppPlatform InCppPlatform, LinuxPlatformSDK InSDK) : base(UnrealTarget, InCppPlatform) { SDK = InSDK; }
/// <summary> /// Constructor /// </summary> public LinuxPlatform(LinuxPlatformSDK InSDK) : this(UnrealTargetPlatform.Linux, CppPlatform.Linux, InSDK) { SDK = InSDK; }
/// <summary> /// Constructor /// </summary> public LinuxPlatform(LinuxPlatformSDK InSDK) : base(UnrealTargetPlatform.Linux, CppPlatform.Linux) { SDK = InSDK; }
public LinuxPlatform(UnrealTargetPlatform UnrealTarget, LinuxPlatformSDK InSDK) : base(UnrealTarget) { SDK = InSDK; }
/// <summary> /// Constructor /// </summary> public LinuxPlatform(LinuxPlatformSDK InSDK) : base(UnrealTargetPlatform.Linux, CPPTargetPlatform.Linux) { SDK = InSDK; }