# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python: import os # This is where the files will be output to # package is the default builder.SetBuildFolder('package') # Add any folders you need to this list folder_list = [ 'addons/sourcemod/extensions', 'addons/sourcemod/scripting/include', 'addons/sourcemod/gamedata' ] if 'x86_64' in SM.target_archs: folder_list.extend([ 'addons/sourcemod/extensions/x64', ]) # Create the distribution folder hierarchy. folder_map = {} for folder in folder_list: norm_folder = os.path.normpath(folder) folder_map[folder] = builder.AddFolder(norm_folder) # Copy binaries. for cxx_task in SM.extensions: if cxx_task.target.arch == 'x86_64': builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions/x64']) else: builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions']) # Do all straight-up file copies from the source tree. def CopyFiles(src, dest, files): if not dest: dest = src dest_entry = folder_map[dest] for source_file in files: source_path = os.path.join(builder.sourcePath, src, source_file) dest_path = os.path.join(dest_entry.path, source_file) if not os.path.isfile(str(dest_path)): builder.AddCopy(source_path, dest_entry) # Gamedata CopyFiles('addons/sourcemod/gamedata', 'addons/sourcemod/gamedata', [ 'CSSFixes.games.txt' ] ) # Include CopyFiles('addons/sourcemod/scripting/include', 'addons/sourcemod/scripting/include', [ 'CSSFixes.inc' ] ) # Autoload extension CopyFiles('addons/sourcemod/extensions', 'addons/sourcemod/extensions', [ 'CSSFixes.autoload' ] )