public override void BuildTargetLib(TargetLib TargetLib, string TargetConfiguration) { DirectoryReference Directory = GetProjectsDirectory(TargetLib, TargetConfiguration); string ProjectFile = FileReference.Combine(Directory, TargetLib.ToString() + ".xcodeproj").FullName; if (!DirectoryExists(ProjectFile)) { throw new AutomationException("Unabled to build project {0}. Project file not found.", ProjectFile); } RunAndLog(CmdEnv, "/usr/bin/xcodebuild", string.Format("-project \"{0}\" -target=\"ALL_BUILD\" -configuration {1} -quiet", ProjectFile, TargetConfiguration)); }
public virtual void SetupTargetLib(TargetLib TargetLib, string TargetConfiguration) { LogInformation("Building {0} for {1} ({2})...", TargetLib.Name, TargetBuildPlatform, TargetConfiguration); if (BuildHostPlatform.Current.Platform.IsInGroup(UnrealPlatformGroup.Unix)) { Environment.SetEnvironmentVariable("CMAKE_ROOT", DirectoryReference.Combine(CMakeRootDirectory, "share").FullName); LogInformation("set {0}={1}", "CMAKE_ROOT", Environment.GetEnvironmentVariable("CMAKE_ROOT")); } DirectoryReference CMakeTargetDirectory = GetProjectsDirectory(TargetLib, TargetConfiguration); MakeFreshDirectoryIfRequired(CMakeTargetDirectory); LogInformation("Generating projects for lib " + TargetLib.Name + ", " + FriendlyName); ProcessStartInfo StartInfo = new ProcessStartInfo(); StartInfo.FileName = CMakeCommand; StartInfo.WorkingDirectory = CMakeTargetDirectory.FullName; StartInfo.Arguments = GetCMakeArguments(TargetLib, TargetConfiguration); if (Utils.RunLocalProcessAndLogOutput(StartInfo) != 0) { throw new AutomationException("Unable to generate projects for {0}.", TargetLib.ToString() + ", " + FriendlyName); } }