mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2024-12-22 17:47:38 +08:00
8a6d1c6cd2
* Fix compilation for windows, setup ambuild * Add built tier1 and mathlib for win64 * Ensure compilation is working on windows and linux * Add -fPIC * Add compiled libs, with optimisation enabled * Added windows lib * Fix hl2sdk for windows * Longs are the devil * Fix up threadtools functions * Add updated libs * Rework lib naming, and package script * Update lib directory according to new packaging --------- Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
56 lines
1.6 KiB
Python
56 lines
1.6 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('lib')
|
|
|
|
|
|
folder_list = []
|
|
|
|
for task in HL2SDK.libs:
|
|
if task.target.platform == 'windows':
|
|
folder_list += ['public', 'public/win64']
|
|
break
|
|
|
|
for task in HL2SDK.libs:
|
|
if task.target.platform == 'linux':
|
|
folder_list += ['linux', 'linux64']
|
|
break
|
|
|
|
# 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)
|
|
def CopyFile(src, dest):
|
|
dest_entry = folder_map[dest]
|
|
source_path = os.path.join(builder.sourcePath, src)
|
|
builder.AddCopy(source_path, dest_entry)
|
|
def CopyDirContent(src, dest):
|
|
dest_entry = folder_map[dest]
|
|
for item in os.scandir(os.path.join(builder.sourcePath, src)):
|
|
if item.is_file():
|
|
builder.AddCopy(item.path, dest_entry)
|
|
|
|
# Copy binaries.
|
|
for task in HL2SDK.libs:
|
|
if task.target.platform == 'linux':
|
|
if task.target.arch == 'x86_64':
|
|
builder.AddCopy(task.binary, folder_map['linux64'])
|
|
else:
|
|
builder.AddCopy(task.binary, folder_map['linux'])
|
|
elif task.target.platform == 'windows':
|
|
if task.target.arch == 'x86_64':
|
|
builder.AddCopy(task.binary, folder_map['public/win64'])
|
|
else:
|
|
builder.AddCopy(task.binary, folder_map['public']) |