tools/builder/PkgCore.cs
author David Anderson <dvander@alliedmods.net>
Sat Jan 27 03:10:31 2007 +0000 (2007-01-27)
changeset 388 4c346c316a49
child 392 12aa3258d020
permissions -rw-r--r--
added build tool
dvander@388
     1
using System;
dvander@388
     2
dvander@388
     3
namespace builder
dvander@388
     4
{
dvander@388
     5
	public class PkgCore : Package
dvander@388
     6
	{
dvander@388
     7
		public PkgCore()
dvander@388
     8
		{
dvander@388
     9
		}
dvander@388
    10
dvander@388
    11
		public override string GetBaseFolder()
dvander@388
    12
		{
dvander@388
    13
			return "base/addons/sourcemod";
dvander@388
    14
		}
dvander@388
    15
dvander@388
    16
		/** 
dvander@388
    17
		 * Must return the list of folders to create.
dvander@388
    18
		 */
dvander@388
    19
		public override string [] GetFolders()
dvander@388
    20
		{
dvander@388
    21
			string [] folders = new string[7];
dvander@388
    22
dvander@388
    23
			folders[0] = "bin";
dvander@388
    24
			folders[1] = "plugins/disabled";
dvander@388
    25
			folders[2] = "configs";
dvander@388
    26
			folders[3] = "translations";
dvander@388
    27
			folders[4] = "logs";
dvander@388
    28
			folders[5] = "extensions";
dvander@388
    29
			folders[6] = "scripting/include";
dvander@388
    30
dvander@388
    31
			return folders;
dvander@388
    32
		}
dvander@388
    33
dvander@388
    34
		/**
dvander@388
    35
		 * Called when file to file copies must be performed
dvander@388
    36
		 */
dvander@388
    37
		public override void OnCopyFiles()
dvander@388
    38
		{
dvander@388
    39
		}
dvander@388
    40
dvander@388
    41
		/**
dvander@388
    42
		 * Called when dir to dir copies must be performed
dvander@388
    43
		 */
dvander@388
    44
		public override void OnCopyFolders(ABuilder builder)
dvander@388
    45
		{
dvander@388
    46
			builder.CopyFolder(this, "configs", "configs", null);
dvander@388
    47
			
dvander@388
    48
			string [] plugin_omits = new string[1];
dvander@388
    49
			plugin_omits[0] = "spcomp.exe";
dvander@388
    50
dvander@388
    51
			builder.CopyFolder(this, "plugins", "scripting", plugin_omits);
dvander@388
    52
			builder.CopyFolder(this, "plugins/include", "scripting/include", null);
dvander@388
    53
			builder.CopyFolder(this, "translations", "translations", null);
dvander@388
    54
		}
dvander@388
    55
dvander@388
    56
		/**
dvander@388
    57
		 * Called to build libraries
dvander@388
    58
		 */
dvander@388
    59
		public override Library [] GetLibraries()
dvander@388
    60
		{
dvander@388
    61
			Library [] libs = new Library[5];
dvander@388
    62
dvander@388
    63
			for (int i=0; i<libs.Length; i++)
dvander@388
    64
			{
dvander@388
    65
				libs[i] = new Library();
dvander@388
    66
			}
dvander@388
    67
dvander@388
    68
			libs[0].Destination = "bin";
dvander@388
    69
			libs[0].LocalPath = "core";
dvander@388
    70
			libs[0].Name = "sourcemod_mm";
dvander@388
    71
			libs[0].PlatformExt = true;
dvander@388
    72
dvander@388
    73
			libs[1].Destination = "bin";
dvander@388
    74
			libs[1].LocalPath = "sourcepawn/jit/x86";
dvander@388
    75
			libs[1].Name = "sourcepawn.jit.x86";
dvander@388
    76
			libs[1].ProjectFile = "jit-x86";
dvander@388
    77
dvander@388
    78
			libs[2].Destination = "scripting";
dvander@388
    79
			libs[2].LocalPath = "sourcepawn/compiler";
dvander@388
    80
			libs[2].Name = "spcomp";
dvander@388
    81
			libs[2].IsExecutable = true;
dvander@388
    82
dvander@388
    83
			libs[3].Destination = "extensions";
dvander@388
    84
			libs[3].LocalPath = "extensions/geoip";
dvander@388
    85
			libs[3].Name = "geoip.ext";
dvander@388
    86
			libs[3].ProjectFile = "geoip";
dvander@388
    87
dvander@388
    88
			libs[4].Destination = "extensions";
dvander@388
    89
			libs[4].LocalPath = "extensions/threader";
dvander@388
    90
			libs[4].Name = "threader.ext";
dvander@388
    91
			libs[4].ProjectFile = "threader";
dvander@388
    92
dvander@388
    93
			return libs;
dvander@388
    94
		}
dvander@388
    95
	}
dvander@388
    96
}