60 lines
1.7 KiB
Plaintext
60 lines
1.7 KiB
Plaintext
import os
|
|
|
|
builder.SetBuildFolder('package')
|
|
|
|
def CreateFolders(folders):
|
|
folder_dict = {}
|
|
for folder in folders:
|
|
path = os.path.normpath(folder)
|
|
folder_dict[folder] = builder.AddFolder(path)
|
|
return folder_dict
|
|
|
|
def CopyFiles(src, dest):
|
|
if os.path.isfile(src):
|
|
builder.AddCopy(src, dest)
|
|
return
|
|
|
|
if os.path.isdir(src):
|
|
for root, _, files in os.walk(src):
|
|
for file in files:
|
|
file_path = os.path.join(root, file)
|
|
relative_path = os.path.relpath(file_path, src)
|
|
destination = os.path.join(dest, relative_path)
|
|
builder.AddCopy(file_path, destination)
|
|
|
|
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()
|
|
|
|
def distribute_package_files():
|
|
package_path = os.path.join(Extension.ext_root, "package")
|
|
if not os.path.isdir(package_path):
|
|
return
|
|
|
|
for root, _, files in os.walk(package_path):
|
|
for file in files:
|
|
file_path = os.path.join(root, file)
|
|
relative_path = os.path.relpath(file_path, package_path)
|
|
|
|
for folder in folders:
|
|
if relative_path.startswith(folder):
|
|
builder.AddCopy(file_path, folders[folder])
|
|
break
|
|
|
|
distribute_package_files()
|
|
|
|
debug_info = []
|