Skip to content

Commit

Permalink
Fix BotsDropSpells and WaveSpawn Messages. Improve build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
rafradek committed May 20, 2024
1 parent dc9e37c commit a494e8c
Show file tree
Hide file tree
Showing 13 changed files with 409 additions and 144 deletions.
21 changes: 2 additions & 19 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,26 +71,9 @@ jobs:
PATH=$HOME/.local/bin:$PATH
./autoconfig.sh
- name: Build full
- name: Build
run: |
cd build/release
ambuild
cd package
zip -y -q -FSr ../package-linux.zip *
- name: Build no-mvm
run: |
cd build/release/no-mvm
ambuild
cd package
zip -y -q -FSr ../../package-linux-no-mvm.zip *
- name: Build optimize-only
run: |
cd build/release/optimize-only
ambuild
cd package
zip -y -q -FSr ../../package-linux-optimize-only.zip *
./multibuild.sh
- name: Upload package-linux
uses: actions/upload-artifact@v4
Expand Down
36 changes: 32 additions & 4 deletions AMBuildScript
Original file line number Diff line number Diff line change
Expand Up @@ -576,9 +576,7 @@ class ExtensionConfig(object):
binary = project.Configure(name, '{0} - {1}'.format(self.tag, sdk.name))
return self.ConfigureForHL2(binary, sdk)

Extension = ExtensionConfig()
Extension.detectSDKs()
Extension.configure()


# Add additional buildscripts here
BuildScripts = [
Expand All @@ -590,4 +588,34 @@ if builder.backend == 'amb2':
'PackageScript',
]

builder.Build(BuildScripts, { 'Extension': Extension})
if builder.options.build_all:
Extension = ExtensionConfig()
builder.options.sdks = "tf2"
Extension.detectSDKs()
Extension.configure()

builder.Build(BuildScripts, { 'Extension': Extension, 'PackageDirSuffix': ''})

builder.options.exclude_mods_mvm = True
ExtensionNoMvM = ExtensionConfig()
builder.options.sdks = "tf2"
ExtensionNoMvM.detectSDKs()
ExtensionNoMvM.configure()

builder.Build(BuildScripts, { 'Extension': ExtensionNoMvM, 'PackageDirSuffix': '-no-mvm'})

builder.options.exclude_mods_mvm = False
builder.options.optimize_mods_only = True

builder.options.sdks = "all"
ExtensionOptimizeOnly = ExtensionConfig()
ExtensionOptimizeOnly.detectSDKs()
ExtensionOptimizeOnly.configure()

builder.Build(BuildScripts, { 'Extension': ExtensionOptimizeOnly, 'PackageDirSuffix': '-optimize-only'})
else:
Extension = ExtensionConfig()
Extension.detectSDKs()
Extension.configure()

builder.Build(BuildScripts, { 'Extension': Extension, 'PackageDirSuffix': ''})
1 change: 1 addition & 0 deletions AMBuilder
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os, sys

print("name " + Extension.name + " suffix " + PackageDirSuffix)
projectName = Extension.name

# smsdk_ext.cpp will be automatically added later
Expand Down
2 changes: 1 addition & 1 deletion PackageScript
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import os

# This is where the files will be output to
# package is the default
builder.SetBuildFolder('package')
builder.SetBuildFolder('package' + PackageDirSuffix)

# Add any folders you need to this list
folder_list = [
Expand Down
18 changes: 9 additions & 9 deletions autoconfig.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ cd ..

mkdir -p build/release
pushd build/release
CC=gcc CXX=g++ $CONFIGURE $PATHS --sdks=tf2 --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui
CC=gcc CXX=g++ $CONFIGURE $PATHS --build-all --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui
popd

mkdir -p build/release/optimize-only
pushd build/release/optimize-only
CC=gcc CXX=g++ $CONFIGURE $PATHS --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui --optimize-mods-only
popd
# mkdir -p build/release/optimize-only
# pushd build/release/optimize-only
# CC=gcc CXX=g++ $CONFIGURE $PATHS --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui --optimize-mods-only
# popd

mkdir -p build/release/no-mvm
pushd build/release/no-mvm
CC=gcc CXX=g++ $CONFIGURE $PATHS --sdks=tf2 --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui --exclude-mods-mvm
popd
# mkdir -p build/release/no-mvm
# pushd build/release/no-mvm
# CC=gcc CXX=g++ $CONFIGURE $PATHS --sdks=tf2 --enable-optimize --exclude-mods-debug --exclude-mods-visualize --exclude-vgui --exclude-mods-mvm
# popd

# mkdir -p build/clang
# pushd build/clang
Expand Down
1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
builder.options.add_option('--exclude-mods-visualize', action='store_const', const='1', dest='exclude_mods_visualize', help='Don\'t compile any mods in the Visualize group')
builder.options.add_option('--exclude-mods-mvm', action='store_const', const='1', dest='exclude_mods_mvm', help='Don\'t compile any mods in the MvM group')
builder.options.add_option('--optimize-mods-only', action='store_const', const='1', dest='optimize_mods_only', help='Only compile optimize mods')
builder.options.add_option('--build-all', action='store_const', const='1', dest='build_all', help='Build additional optimize-mods and no-mvm packages')
builder.options.add_option('--exclude-vgui', action='store_const', const='1', dest='exclude_mods_vgui', help='Don\'t compile any mods in the VGUI group')
builder.options.add_option('-s', '--sdks', default='all', dest='sdks', help='Build against specified SDKs; valid args are "all", "present", or comma-delimited list of engine names (default: %default)')

Expand Down
33 changes: 12 additions & 21 deletions multibuild.sh
Original file line number Diff line number Diff line change
@@ -1,35 +1,26 @@
#!/bin/bash

pushd build/release
cd build/release
ambuild

pushd package
(
ambuild &&
(
cd package
rm -f ../package-linux.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../package-linux.zip *
)
rm -f ../package-linux.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../package-linux.zip *
) &
popd

pushd build/release/optimize-only
pushd package-no-mvm
(
ambuild &&
(
cd package
rm -f ../../package-linux-optimize-only.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../../package-linux-optimize-only.zip *
)
rm -f ../package-linux-no-mvm.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../package-linux-no-mvm.zip *
) &
popd

pushd build/release/no-mvm
pushd package-optimize-only
(
ambuild &&
(
cd package
rm -f ../../package-linux-no-mvm.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../../package-linux-no-mvm.zip *
)
rm -f ../package-linux-optimize-only.zip
type zip >/dev/null 2>&1 && zip -y -q -FSr ../package-linux-optimize-only.zip *
) &
popd

Expand Down
Loading

0 comments on commit a494e8c

Please sign in to comment.