/// <summary> /// Allow various platform project generators to generate stub projects if required /// </summary> /// <param name="InTargetName"></param> /// <param name="InTargetFilepath"></param> /// <returns></returns> public static bool GenerateGameProjectStubs(ProjectFileGenerator InGenerator, string InTargetName, string InTargetFilepath, TargetRules InTargetRules, List<STTargetPlatform> InPlatforms, List<STTargetConfiguration> InConfigurations) { foreach (KeyValuePair<STTargetPlatform, STPlatformProjectGenerator> Entry in ProjectGeneratorDictionary) { STPlatformProjectGenerator ProjGen = Entry.Value; ProjGen.GenerateGameProjectStub(InGenerator, InTargetName, InTargetFilepath, InTargetRules, InPlatforms, InConfigurations); } return true; }
/// <summary> /// Generates project files. Can also be used to generate projects "in memory", to allow for building /// targets without even having project files at all. /// </summary> /// <param name="Generator">Project generator to use</param> /// <param name="Arguments">Command-line arguments</param> /// <returns>True if successful</returns> public static bool GenerateProjectFiles(ProjectFileGenerator Generator, string[] Arguments) { bool bSuccess; ProjectFileGenerator.bGenerateProjectFiles = true; Generator.GenerateProjectFiles(Arguments, out bSuccess); ProjectFileGenerator.bGenerateProjectFiles = false; return bSuccess; }
/// ProjectFileGenerator interface public override MasterProjectFolder AllocateMasterProjectFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName) { return new MakefileFolder(InitOwnerProjectFileGenerator, InitFolderName); }
/// <summary> /// Constructor /// </summary> public MakefileFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName) : base(InitOwnerProjectFileGenerator, InitFolderName) { }
public virtual void GenerateGameProjectStub(ProjectFileGenerator InGenerator, string InTargetName, string InTargetFilepath, TargetRules InTargetRules, List<STTargetPlatform> InPlatforms, List<STTargetConfiguration> InConfigurations) { // Do nothing }
/// <summary> /// Constructor /// </summary> public VisualStudioSolutionFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName) : base(InitOwnerProjectFileGenerator, InitFolderName) { // Generate a unique GUID for this folder // NOTE: When saving generated project files, we ignore differences in GUIDs if every other part of the file // matches identically with the pre-existing file FolderGUID = Guid.NewGuid(); }
/// ProjectFileGenerator interface public override MasterProjectFolder AllocateMasterProjectFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName) { return new VisualStudioSolutionFolder(InitOwnerProjectFileGenerator, InitFolderName); }
/// <summary> /// Allocates a generator-specific master project folder object /// </summary> /// <param name="InitOwnerProjectFileGenerator">Project file generator that owns this object</param> /// <param name="InitFolderName">Name for this folder</param> /// <returns>The newly allocated project folder object</returns> public abstract MasterProjectFolder AllocateMasterProjectFolder(ProjectFileGenerator OwnerProjectFileGenerator, string FolderName);
/// <summary> /// Constructor /// </summary> /// <param name="InitOwnerProjectFileGenerator">Project file generator that owns this object</param> /// <param name="InitFolderName">Name for this folder</param> public MasterProjectFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName) { OwnerProjectFileGenerator = InitOwnerProjectFileGenerator; FolderName = InitFolderName; }