Add ambuild 2.2 support

This commit is contained in:
maxime1907
2021-08-26 17:35:39 +02:00
parent ae3e25c547
commit 1548f94a0c
7 changed files with 424 additions and 127 deletions
+26 -5
View File
@@ -8,15 +8,28 @@ 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:
@@ -24,13 +37,21 @@ def CopyFiles(src, dest, files):
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)
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 (custom so updater doesn't replace it)
CopyFiles('gamedata', 'addons/sourcemod/gamedata',
CopyFiles('addons/sourcemod/gamedata', 'addons/sourcemod/gamedata',
[ 'a2sqcache.games.txt' ]
)
# Copy binaries.
for cxx_task in Extension.extensions:
builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions'])
# Include file
CopyFiles('addons/sourcemod/scripting/include', 'addons/sourcemod/scripting/include',
[ 'a2sqcache.inc' ]
)
# Autoload extension
CopyFiles('addons/sourcemod/extensions', 'addons/sourcemod/extensions',
[ 'a2sqcache.autoload' ]
)