sourcemod/public/sample_ext/PackageScript
caxanga334 600f493e69
Modernize Sample Extensions's AMBuildScript (#2107)
* Modernize Build Scripts

* Fix: Missing dot at extension file name.

Reported by @FortyTwoFortyTwo

* Clean Up: Removed unused variable

* Copying No Longer Needed

Copying the HL2SDK manifest is no longer needed.
Requires latest AMBuild.

* Allow Using Manifests From Project Folder

Check if the manifest already exists in the project folder. If not, then search in the path specified by --hl2sdk-manifest-path.

* Requested Changes by Kenzzer

* Fix Differences Between SDK/No SDK
2024-10-25 18:58:31 +02:00

61 lines
1.5 KiB
Python

# 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',
#'addons/sourcemod/configs',
]
if 'x86_64' in Extension.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)
# 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)
builder.AddCopy(source_path, dest_entry)
# Include files
#CopyFiles('include', 'addons/sourcemod/scripting/include',
# [ 'sample.inc', ]
#)
# GameData files
#CopyFiles('gamedata', 'addons/sourcemod/gamedata',
# [ 'myfile.txt',
# 'file2.txt'
# ]
#)
# Config Files
#CopyFiles('configs', 'addons/sourcemod/configs',
# [ 'configfile.cfg',
# 'otherconfig.cfg,
# ]
#)
# Copy binaries.
for cxx_task in Extension.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'])