# vim: set ts=2 sw=2 tw=99 noet ft=python: import os import shutil import ambuild.osutil as osutil from ambuild.command import Command builder.SetBuildFolder('package') def CreateFolders(folders): dict = {} for folder in folders: path = os.path.normpath(folder) dict[folder] = builder.AddFolder(path) return dict def CopyFiles(src, dest, filter_ext=None): source_path = os.path.join(builder.sourcePath, src) if os.path.isfile(source_path): builder.AddCopy(source_path, dest) return for entry in os.listdir(source_path): entry_path = os.path.join(source_path, entry) if not os.path.isfile(entry_path): continue if filter_ext: _, ext = os.path.splitext(entry) if filter_ext != ext: continue builder.AddCopy(entry_path, dest) folders = CreateFolders(['addons/sourcemod/extensions', 'addons/sourcemod/extensions/x64', 'addons/sourcemod/gamedata', 'addons/sourcemod/scripting', 'addons/sourcemod/scripting/include']) pdblog = open(os.path.join(builder.buildPath, 'pdblog.txt'), 'wt') for cxx_task in Extension.extensions: if cxx_task.target.arch == 'x86_64': builder.AddCopy(cxx_task.binary, folders['addons/sourcemod/extensions/x64']) else: builder.AddCopy(cxx_task.binary, folders['addons/sourcemod/extensions']) pdblog.write(cxx_task.debug.path + '\n') pdblog.close() CopyFiles('connect2.games.txt', folders['addons/sourcemod/gamedata']) CopyFiles('connect.inc', folders['addons/sourcemod/scripting/include']) CopyFiles('connect.sp', folders['addons/sourcemod/scripting']) debug_info = []