Files
moonwell-core-vanilla/.github/workflows/vmangos.yml
T
2021-11-03 10:22:50 +02:00

99 lines
3.1 KiB
YAML

#3 build types
# - gcc under Ubuntu
# - clang under Ubuntu
# - visual studio under Windows
#
# Builds are set to use 2 threads per type
name: vmangos CI build
on:
push:
paths-ignore:
- 'sql/**'
pull_request:
paths-ignore:
- 'sql/**'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
#matrix declaration
matrix:
os: [ubuntu-latest]
compiler: [gcc, clang]
include:
- os: windows-latest
steps:
#git checkout
- uses: actions/checkout@v2
#before install dependencies
- name: ubuntu dependencies
#ubuntu dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get -qq install libmysql++-dev libace-dev libtbb-dev
sudo apt-get -qq install cmake build-essential cppcheck git make libiberty-dev openssl libssl-dev
#windows dependencies
- name: windows dependencies
if: matrix.os == 'windows-latest'
#Sets versions for ACE/TBB
env:
ACE_VERSION: 6.5.11
ACE_VERSION2: 6_5_11
TBB_VERSION: 2020.3
run: |
#directory variables
export ACE_ROOT=$GITHUB_WORKSPACE/ACE_wrappers
export TBB_ROOT_DIR=$GITHUB_WORKSPACE/tbb
#wget
choco install -y wget
#ACE package download
wget http://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-$ACE_VERSION2/ACE-$ACE_VERSION.zip
unzip ACE-$ACE_VERSION.zip
rm ACE-$ACE_VERSION.zip
#configuration of ACE header
echo "#include \"ace/config-win32.h\"" >> $ACE_ROOT/ace/config.h
#TBB package download
wget https://github.com/oneapi-src/oneTBB/releases/download/v$TBB_VERSION/tbb-$TBB_VERSION-win.zip
unzip tbb-$TBB_VERSION-win.zip
rm tbb-$TBB_VERSION-win.zip
#make
choco install -y make
#cmake
choco install -y cmake
#openssl
choco install -y openssl
#git bash shell
shell: bash
#build and install
#ubuntu
- name: ubuntu build & install
if: matrix.os == 'ubuntu-latest'
run: |
mkdir build
mkdir _install
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=../_install -DWITH_WARNINGS=0 -DUSE_EXTRACTORS=1
make -j2
make install
#windows
- name: windows build & install
if: matrix.os == 'windows-latest'
run: |
#directory variables
export ACE_ROOT=$GITHUB_WORKSPACE/ACE_wrappers
cd $GITHUB_WORKSPACE/ACE_wrappers
/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2019/Enterprise/MSBuild/Current/Bin/MSBuild.exe "ACE_wrappers_vs2019.sln" //p:Configuration=Release //p:Platform=x64 //t:ACE //m:2
cd $GITHUB_WORKSPACE
mkdir build
cd build
cmake -D TBB_ROOT_DIR=$GITHUB_WORKSPACE/tbb -DWITH_WARNINGS=0 -DUSE_EXTRACTORS=1 -G "Visual Studio 16 2019" -A x64 ..
/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2019/Enterprise/MSBuild/Current/Bin/MSBuild.exe "MaNGOS.sln" //p:Platform=x64 //p:Configuration=Release //m:2
#git bash shell
shell: bash