build: simplify workflow
linux; switch to gcc to support older hlds builds as well win32: switch to clang as default compiler
This commit is contained in:
parent
1ecc0827c9
commit
28e9f44dee
8 changed files with 72 additions and 120 deletions
78
.github/workflows/build.yml
vendored
78
.github/workflows/build.yml
vendored
|
|
@ -12,21 +12,26 @@ on:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
builds:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-latest
|
- type: windows
|
||||||
bin: yapb.dll
|
bin: yapb.dll
|
||||||
name: windows
|
opts: meson setup build --cross-file=x86-windows
|
||||||
|
|
||||||
- os: ubuntu-latest
|
- type: linux
|
||||||
bin: yapb.so
|
bin: yapb.so
|
||||||
name: linux
|
opts: CXX=gcc-11 CXX_LD=gold meson setup build
|
||||||
clang: 12
|
|
||||||
|
|
||||||
name: ${{ matrix.name }}
|
- type: macos
|
||||||
runs-on: ${{ matrix.os }}
|
bin: yapb.dylib
|
||||||
|
opts: meson setup build --cross-file=x86-darwin
|
||||||
|
|
||||||
|
|
||||||
|
name: ${{ matrix.type }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: j4sdk/x86-buildtools:latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
|
|
@ -35,36 +40,9 @@ jobs:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- name: Setup Windows x86
|
|
||||||
if: startsWith (runner.os, 'windows')
|
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
|
||||||
with:
|
|
||||||
arch: amd64_x86
|
|
||||||
|
|
||||||
- name: Setup Linux x86
|
|
||||||
if: startsWith (runner.os, 'linux')
|
|
||||||
run: |
|
|
||||||
sudo dpkg --add-architecture i386
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y --no-install-recommends \
|
|
||||||
gcc-multilib g++-multilib libstdc++6 lib32stdc++6 \
|
|
||||||
libc6-dev libc6-dev-i386 linux-libc-dev linux-libc-dev:i386
|
|
||||||
|
|
||||||
echo "CXX=clang-${{ matrix.clang }}" >> $GITHUB_ENV
|
|
||||||
echo "CXX_LD=lld-${{ matrix.clang }}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: '3.x'
|
|
||||||
|
|
||||||
- name: Setup Meson
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade meson ninja
|
|
||||||
|
|
||||||
- name: Configure Build
|
- name: Configure Build
|
||||||
run: |
|
run: |
|
||||||
meson setup build
|
${{ matrix.opts }}
|
||||||
|
|
||||||
- name: Compile Source
|
- name: Compile Source
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -75,32 +53,6 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.bin }}
|
name: ${{ matrix.bin }}
|
||||||
path: build/${{ matrix.bin }}
|
path: build/${{ matrix.bin }}
|
||||||
|
|
||||||
macos:
|
|
||||||
name: macos
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: j4sdk/macross-x86:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Configure Build
|
|
||||||
run: |
|
|
||||||
CXX_LD=/opt/osxcross/target/bin/i386-apple-darwin15-ld meson setup build --cross-file=x86-darwin
|
|
||||||
|
|
||||||
- name: Compile Source
|
|
||||||
run: |
|
|
||||||
meson compile -v -C build
|
|
||||||
|
|
||||||
- name: Upload Artifacts
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: yapb.dylib
|
|
||||||
path: build/yapb.dylib
|
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
if: |
|
if: |
|
||||||
|
|
@ -109,7 +61,7 @@ jobs:
|
||||||
|
|
||||||
name: publish
|
name: publish
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [build, macos]
|
needs: [builds]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 0252d7bd8561047a70ebd6cec421af7d9e1cc9c7
|
Subproject commit 26f99881d660fb86e7ef377cf2e6ee615be30cea
|
||||||
|
|
@ -24,8 +24,8 @@ typedef vec_t vec4_t[4];
|
||||||
typedef int qboolean;
|
typedef int qboolean;
|
||||||
typedef unsigned char byte;
|
typedef unsigned char byte;
|
||||||
|
|
||||||
#include <crlib/cr-vector.h>
|
#include <crlib/vector.h>
|
||||||
#include <crlib/cr-string.h>
|
#include <crlib/string.h>
|
||||||
|
|
||||||
// idea from regamedll
|
// idea from regamedll
|
||||||
class string_t final : public cr::DenyCopying {
|
class string_t final : public cr::DenyCopying {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#include <hlsdk/extdll.h>
|
#include <hlsdk/extdll.h>
|
||||||
#include <hlsdk/metamod.h>
|
#include <hlsdk/metamod.h>
|
||||||
|
|
||||||
#include <crlib/cr-complete.h>
|
#include <crlib/crlib.h>
|
||||||
|
|
||||||
// use all the cr-library
|
// use all the cr-library
|
||||||
using namespace cr;
|
using namespace cr;
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ find_program ('hostname', required: true)
|
||||||
|
|
||||||
cpp = meson.get_compiler ('cpp')
|
cpp = meson.get_compiler ('cpp')
|
||||||
sys = host_machine.system ()
|
sys = host_machine.system ()
|
||||||
target = build_machine.cpu_family ()
|
target = host_machine.cpu_family ()
|
||||||
version = meson.project_version ()
|
version = meson.project_version ()
|
||||||
count = run_command ('git', 'rev-list', '--count', 'HEAD').stdout ().strip ()
|
count = run_command ('git', 'rev-list', '--count', 'HEAD').stdout ().strip ()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1039,4 +1039,4 @@ void EntityLinkage::initialize () {
|
||||||
#include "android.cpp"
|
#include "android.cpp"
|
||||||
|
|
||||||
// override new/delete globally, need to be included in .cpp file
|
// override new/delete globally, need to be included in .cpp file
|
||||||
#include <crlib/cr-override.h>
|
#include <crlib/override.h>
|
||||||
|
|
|
||||||
|
|
@ -11,30 +11,30 @@
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-array.h" />
|
<ClInclude Include="..\ext\crlib\crlib\array.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-basic.h" />
|
<ClInclude Include="..\ext\crlib\crlib\basic.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-binheap.h" />
|
<ClInclude Include="..\ext\crlib\crlib\binheap.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-color.h" />
|
<ClInclude Include="..\ext\crlib\crlib\color.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-complete.h" />
|
<ClInclude Include="..\ext\crlib\crlib\crlib.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-deque.h" />
|
<ClInclude Include="..\ext\crlib\crlib\deque.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-detour.h" />
|
<ClInclude Include="..\ext\crlib\crlib\detour.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-files.h" />
|
<ClInclude Include="..\ext\crlib\crlib\files.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-hashmap.h" />
|
<ClInclude Include="..\ext\crlib\crlib\hashmap.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-http.h" />
|
<ClInclude Include="..\ext\crlib\crlib\http.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-lambda.h" />
|
<ClInclude Include="..\ext\crlib\crlib\lambda.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-library.h" />
|
<ClInclude Include="..\ext\crlib\crlib\library.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-logger.h" />
|
<ClInclude Include="..\ext\crlib\crlib\logger.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-math.h" />
|
<ClInclude Include="..\ext\crlib\crlib\math.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-memory.h" />
|
<ClInclude Include="..\ext\crlib\crlib\memory.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-movable.h" />
|
<ClInclude Include="..\ext\crlib\crlib\movable.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-override.h" />
|
<ClInclude Include="..\ext\crlib\crlib\override.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-platform.h" />
|
<ClInclude Include="..\ext\crlib\crlib\platform.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-random.h" />
|
<ClInclude Include="..\ext\crlib\crlib\random.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-string.h" />
|
<ClInclude Include="..\ext\crlib\crlib\string.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-twin.h" />
|
<ClInclude Include="..\ext\crlib\crlib\twin.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-ulz.h" />
|
<ClInclude Include="..\ext\crlib\crlib\ulz.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-uniqueptr.h" />
|
<ClInclude Include="..\ext\crlib\crlib\uniqueptr.h" />
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-vector.h" />
|
<ClInclude Include="..\ext\crlib\crlib\vector.h" />
|
||||||
<ClInclude Include="..\ext\hlsdk\const.h" />
|
<ClInclude Include="..\ext\hlsdk\const.h" />
|
||||||
<ClInclude Include="..\ext\hlsdk\eiface.h" />
|
<ClInclude Include="..\ext\hlsdk\eiface.h" />
|
||||||
<ClInclude Include="..\ext\hlsdk\extdll.h" />
|
<ClInclude Include="..\ext\hlsdk\extdll.h" />
|
||||||
|
|
|
||||||
|
|
@ -78,83 +78,80 @@
|
||||||
<ClInclude Include="..\inc\module.h">
|
<ClInclude Include="..\inc\module.h">
|
||||||
<Filter>inc</Filter>
|
<Filter>inc</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-array.h">
|
<ClInclude Include="..\ext\crlib\crlib\array.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-basic.h">
|
<ClInclude Include="..\ext\crlib\crlib\basic.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-binheap.h">
|
<ClInclude Include="..\ext\crlib\crlib\binheap.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-color.h">
|
<ClInclude Include="..\ext\crlib\crlib\color.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-complete.h">
|
<ClInclude Include="..\ext\crlib\crlib\crlib.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-deque.h">
|
<ClInclude Include="..\ext\crlib\crlib\deque.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-detour.h">
|
<ClInclude Include="..\ext\crlib\crlib\detour.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-files.h">
|
<ClInclude Include="..\ext\crlib\crlib\files.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-hashmap.h">
|
<ClInclude Include="..\ext\crlib\crlib\hashmap.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-http.h">
|
<ClInclude Include="..\ext\crlib\crlib\http.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-lambda.h">
|
<ClInclude Include="..\ext\crlib\crlib\lambda.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-library.h">
|
<ClInclude Include="..\ext\crlib\crlib\library.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-logger.h">
|
<ClInclude Include="..\ext\crlib\crlib\logger.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-math.h">
|
<ClInclude Include="..\ext\crlib\crlib\math.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-memory.h">
|
<ClInclude Include="..\ext\crlib\crlib\memory.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-movable.h">
|
<ClInclude Include="..\ext\crlib\crlib\movable.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-override.h">
|
<ClInclude Include="..\ext\crlib\crlib\override.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-platform.h">
|
<ClInclude Include="..\ext\crlib\crlib\platform.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-random.h">
|
<ClInclude Include="..\ext\crlib\crlib\random.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-string.h">
|
<ClInclude Include="..\ext\crlib\crlib\string.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-twin.h">
|
<ClInclude Include="..\ext\crlib\crlib\twin.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-ulz.h">
|
<ClInclude Include="..\ext\crlib\crlib\ulz.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-uniqueptr.h">
|
<ClInclude Include="..\ext\crlib\crlib\uniqueptr.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\ext\crlib\crlib\cr-vector.h">
|
<ClInclude Include="..\ext\crlib\crlib\vector.h">
|
||||||
<Filter>inc\ext\crlib</Filter>
|
<Filter>inc\ext\crlib</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\android.cpp">
|
|
||||||
<Filter>src</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\src\botlib.cpp">
|
<ClCompile Include="..\src\botlib.cpp">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
@ -194,6 +191,9 @@
|
||||||
<ClCompile Include="..\src\module.cpp">
|
<ClCompile Include="..\src\module.cpp">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\android.cpp">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="yapb.rc">
|
<ResourceCompile Include="yapb.rc">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue