203 lines
2.7 KiB
C#
203 lines
2.7 KiB
C#
// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
|
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace PascalABCCompiler
|
|
{
|
|
public enum ProjectType
|
|
{
|
|
ConsoleApp,
|
|
Library,
|
|
WindowsApp
|
|
}
|
|
|
|
public interface IProjectInfo
|
|
{
|
|
string Name
|
|
{
|
|
get;
|
|
}
|
|
|
|
string MainFile
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Path
|
|
{
|
|
get;
|
|
}
|
|
|
|
string ProjectDirectory
|
|
{
|
|
get;
|
|
}
|
|
|
|
bool DeleteEXE
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
bool DeletePDB
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string AppIcon
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
int MajorVersion
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
int MinorVersion
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
int BuildVersion
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
int RevisionVersion
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Product
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Company
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Trademark
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Copyright
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Title
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Description
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string CommandLineArguments
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
bool IncludeDebugInfo
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
bool GenerateXMLDoc
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string OutputFileName
|
|
{
|
|
get;
|
|
}
|
|
|
|
string OutputDirectory
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
ProjectType ProjectType
|
|
{
|
|
get;
|
|
}
|
|
|
|
IFileInfo[] SourceFiles
|
|
{
|
|
get;
|
|
}
|
|
|
|
IReferenceInfo[] References
|
|
{
|
|
get;
|
|
}
|
|
|
|
IResourceInfo[] Resources
|
|
{
|
|
get;
|
|
}
|
|
|
|
bool ContainsSourceFile(string FileName);
|
|
}
|
|
|
|
public interface IFileInfo
|
|
{
|
|
string Name
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
string Path
|
|
{
|
|
get;
|
|
}
|
|
}
|
|
|
|
public interface IReferenceInfo
|
|
{
|
|
string AssemblyName
|
|
{
|
|
get;
|
|
}
|
|
|
|
string FullAssemblyName
|
|
{
|
|
get;
|
|
}
|
|
}
|
|
|
|
public interface IResourceInfo
|
|
{
|
|
string Name
|
|
{
|
|
get;
|
|
}
|
|
}
|
|
}
|