251cced1f8
Various minor things done to project files Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way) Updated regex project file and makefile --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401971
104 lines
2.4 KiB
C#
104 lines
2.4 KiB
C#
using System;
|
|
|
|
namespace builder
|
|
{
|
|
public enum ReleaseMode : int
|
|
{
|
|
ReleaseMode_Release,
|
|
ReleaseMode_Debug,
|
|
};
|
|
|
|
public enum BuildMode : int
|
|
{
|
|
BuildMode_Simple,
|
|
BuildMode_OldMetamod,
|
|
BuildMode_Episode1,
|
|
BuildMode_Episode2
|
|
};
|
|
|
|
public class Library
|
|
{
|
|
public Library()
|
|
{
|
|
has_platform_ext = false;
|
|
is_executable = false;
|
|
release_mode = ReleaseMode.ReleaseMode_Release;
|
|
build_mode = BuildMode.BuildMode_Simple;
|
|
}
|
|
public string binary_name; /* Name of binary */
|
|
public string source_path; /* Local path to library build scripts */
|
|
public ReleaseMode release_mode; /* Release mode */
|
|
public BuildMode build_mode; /* Build mode */
|
|
public string package_path; /* Final relative path */
|
|
public bool has_platform_ext; /* Add extra platform extension? */
|
|
public string vcproj_name; /* Project file, NULL for standard */
|
|
public bool is_executable; /* If this is an EXE instead of a DLL */
|
|
};
|
|
|
|
public class Plugin
|
|
{
|
|
public Plugin(string file)
|
|
{
|
|
Source = file;
|
|
disabled = false;
|
|
}
|
|
public Plugin (string file, string folder)
|
|
{
|
|
Source = file;
|
|
Folder = folder;
|
|
disabled = false;
|
|
}
|
|
public Plugin (string file, bool is_disabled)
|
|
{
|
|
Source = file;
|
|
disabled = is_disabled;
|
|
}
|
|
public string Folder; /* Source folder relative to scripting (null for default) */
|
|
public string Source; /* Source file name */
|
|
public bool disabled; /* Is the plugin disabled? */
|
|
};
|
|
|
|
public abstract class Package
|
|
{
|
|
/**
|
|
* Must return the root compression point.
|
|
*/
|
|
public abstract void GetCompressBases(ref string path, ref string folder);
|
|
|
|
/**
|
|
* Must return the base package output folder.
|
|
*/
|
|
public abstract string GetBaseFolder();
|
|
|
|
/**
|
|
* Must return the list of folders to create.
|
|
*/
|
|
public abstract string [] GetFolders();
|
|
|
|
/**
|
|
* Called when file to file copies must be performed
|
|
*/
|
|
public abstract void OnCopyFiles(ABuilder builder);
|
|
|
|
/**
|
|
* Called when dir to dir copies must be performed
|
|
*/
|
|
public abstract void OnCopyFolders(ABuilder builder);
|
|
|
|
/**
|
|
* Called to build libraries
|
|
*/
|
|
public abstract Library [] GetLibraries();
|
|
|
|
/**
|
|
* Called to get package name
|
|
*/
|
|
public abstract string GetPackageName();
|
|
|
|
/**
|
|
* Called to get a plugin list
|
|
*/
|
|
public abstract Plugin [] GetPlugins();
|
|
}
|
|
}
|