1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2024-12-22 17:47:38 +08:00
hl2sdk/PackageScript
Benoist 8a6d1c6cd2
TF2 win64 + Ambuild tier1/mathlib + long=devil (#198)
* 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>
2024-03-09 03:57:12 +00:00

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'])