Skip to content

MoveMapGenerator: add proper multithreading support #4791

MoveMapGenerator: add proper multithreading support

MoveMapGenerator: add proper multithreading support #4791

Workflow file for this run

#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:
- '.github/ISSUE_TEMPLATE/**'
- '.github/ISSUE_TEMPLATE.md'
- '.github/PULL_REQUEST_TEMPLATE.md'
- '.github/workflows/db_check.yml'
- '.github/workflows/db_dump.yml'
- 'sql/**'
- '.drone.yml'
- 'README.md'
- 'LICENSE'
- '.gitignore'
- 'CONTRIBUTING.md'
pull_request:
paths-ignore:
- '.github/ISSUE_TEMPLATE/**'
- '.github/ISSUE_TEMPLATE.md'
- '.github/PULL_REQUEST_TEMPLATE.md'
- '.github/workflows/db_check.yml'
- '.github/workflows/db_dump.yml'
- 'sql/**'
- '.drone.yml'
- 'README.md'
- 'LICENSE'
- '.gitignore'
- 'CONTRIBUTING.md'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
#matrix declaration
matrix:
os: [ubuntu-latest]
compiler: [gcc, clang]
include:
- os: windows-2019
steps:
#git checkout
- uses: actions/checkout@v4
#before install dependencies
- name: ubuntu dependencies
#ubuntu dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get -qq update
sudo apt-get -qq install build-essential cmake libace-dev libmysql++-dev libtbb-dev libcurl4-openssl-dev openssl
#windows dependencies
- name: windows dependencies
if: matrix.os == 'windows-2019'
#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
#ACE package download
curl -LOJ 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
curl -LOJ 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
#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 -DENABLE_MAILSENDER=1
make -j2
make install
#windows
- name: windows build & install
if: matrix.os == 'windows-2019'
run: |
# Build ACE
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
# Build CURL
cd $GITHUB_WORKSPACE/dep/windows/optional_dependencies/
./curl_download_and_build.bat
# Build actual project
cd $GITHUB_WORKSPACE
mkdir build
cd build
cmake -D TBB_ROOT_DIR=$GITHUB_WORKSPACE/tbb -DWITH_WARNINGS=0 -DUSE_EXTRACTORS=1 -DENABLE_MAILSENDER=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