/// <summary> /// Constructor /// </summary> private FastbuildFileBuilder_Project_CSharp(ProjectInfo_CSharp project) { if (project.ProjectType == ProjectInfo.ProjectTypeEnum.INVALID) { return; } m_projectInfo = project; try { // We create the file '[project-name].bff' string path = String.Format("{0}/{1}.bff", m_projectInfo.RootFolderAbsolute, m_projectInfo.Name); m_file = new StreamWriter(path, false); m_file.NewLine = "\n"; m_file.WriteLine("{"); // We create variables... createReferencesVariables(); createFilesVariable(); createFlagsVariables(); createConfigurationTargets(); m_file.WriteLine("}"); } finally { if (m_file != null) { m_file.Close(); m_file.Dispose(); } } }
/// <summary> /// Constructor /// </summary> private MakefileBuilder_Project_CSharp(ProjectInfo_CSharp project) { m_projectInfo = project; try { // We create the file '[project-name].makefile', and set it to // use unix-style line endings... string path = String.Format("{0}/{1}.makefile", m_projectInfo.RootFolderAbsolute, m_projectInfo.Name); m_file = new StreamWriter(path, false); m_file.NewLine = "\n"; // We create variables... createCompilerVariable(); createFilesVariable(); createReferencesVariables(); createFlagsVariables(); createOutputVariables(); createTargetVariable(); // We create an 'all configurations' root target... m_file.WriteLine(""); createAllConfigurationsTarget(); // We create one target for each configuration... createConfigurationTargets(); // We create a target to create the intermediate and output folders... createCreateFoldersTarget(); // Creates the target that cleans intermediate files... createCleanTarget(); } finally { if (m_file != null) { m_file.Close(); m_file.Dispose(); } } }
/// <summary> /// Create configuration file for the project passed in. /// </summary> public static void createConfigurationFile(ProjectInfo_CSharp project) { new FastbuildFileBuilder_Project_CSharp(project); }
/// <summary> /// We create a makefile for the project passed in. /// </summary> public static void createMakefile(ProjectInfo_CSharp project) { new MakefileBuilder_Project_CSharp(project); }