mirror of
https://github.com/edubart/otclient.git
synced 2025-04-30 01:29:21 +02:00
Adding build with vcpkg github workflow
- updated gitignore - build-vcpkg
This commit is contained in:
commit
de97869384
133
.github/workflows/build-vcpkg.yml
vendored
Normal file
133
.github/workflows/build-vcpkg.yml
vendored
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
name: Build with vcpkg
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- v*
|
||||||
|
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
|
||||||
|
paths:
|
||||||
|
- cmake/**
|
||||||
|
- src/**
|
||||||
|
- CMakeLists.txt
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- cmake/**
|
||||||
|
- src/**
|
||||||
|
- CMakeLists.txt
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
job:
|
||||||
|
name: ${{ matrix.os }}-${{ matrix.cxx }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}
|
||||||
|
runs-on: ${{ matrix.os }}-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 8
|
||||||
|
matrix:
|
||||||
|
name: [ubuntu-gcc, ubuntu-clang, macos-clang, windows-msvc]
|
||||||
|
buildtype: [Debug, Release]
|
||||||
|
luajit: [on, off]
|
||||||
|
include:
|
||||||
|
- name: windows-msvc
|
||||||
|
os: windows
|
||||||
|
cxx: cl.exe
|
||||||
|
cc: cl.exe
|
||||||
|
triplet: x64-windows
|
||||||
|
packages: >
|
||||||
|
boost-iostreams boost-asio boost-system boost-variant boost-lockfree luajit glew
|
||||||
|
boost-filesystem boost-uuid physfs openal-soft libogg libvorbis zlib opengl
|
||||||
|
- name: ubuntu-gcc
|
||||||
|
os: ubuntu
|
||||||
|
cxx: g++
|
||||||
|
cc: gcc
|
||||||
|
triplet: x64-linux
|
||||||
|
packages: >
|
||||||
|
boost-iostreams boost-asio boost-system boost-variant boost-lockfree luajit glew
|
||||||
|
boost-filesystem boost-uuid physfs openal-soft libogg libvorbis zlib opengl
|
||||||
|
- name: ubuntu-clang
|
||||||
|
os: ubuntu
|
||||||
|
cxx: clang++
|
||||||
|
cc: clang
|
||||||
|
triplet: x64-linux
|
||||||
|
packages: >
|
||||||
|
boost-iostreams boost-asio boost-system boost-variant boost-lockfree luajit glew
|
||||||
|
boost-filesystem boost-uuid physfs openal-soft libogg libvorbis zlib opengl
|
||||||
|
- name: macos-clang
|
||||||
|
os: macos
|
||||||
|
cxx: clang++
|
||||||
|
cc: clang
|
||||||
|
triplet: x64-osx
|
||||||
|
packages: >
|
||||||
|
boost-iostreams boost-asio boost-system boost-variant boost-lockfree luajit glew
|
||||||
|
boost-filesystem boost-uuid physfs openal-soft libogg libvorbis zlib opengl
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Unshallow
|
||||||
|
run: git fetch --prune --unshallow
|
||||||
|
|
||||||
|
- name: Get latest CMake
|
||||||
|
# Using 'latest' branch, the latest CMake is installed.
|
||||||
|
uses: lukka/get-cmake@latest
|
||||||
|
|
||||||
|
- name: Ubuntu - install luajit
|
||||||
|
run: |
|
||||||
|
sudo apt-get install libluajit-5.1-dev
|
||||||
|
if: contains( matrix.os, 'ubuntu')
|
||||||
|
|
||||||
|
- name: MacOS - install luajit pkgconfig
|
||||||
|
run: brew install luajit pkgconfig
|
||||||
|
if: contains( matrix.os, 'macos')
|
||||||
|
|
||||||
|
- uses: lukka/set-shell-env@v1
|
||||||
|
with:
|
||||||
|
CXX: ${{ matrix.cxx }}
|
||||||
|
CC: ${{ matrix.cc }}
|
||||||
|
|
||||||
|
- name: Run vcpkg
|
||||||
|
uses: lukka/run-vcpkg@v2
|
||||||
|
with:
|
||||||
|
vcpkgArguments: ${{ matrix.packages }}
|
||||||
|
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
|
||||||
|
vcpkgTriplet: ${{ matrix.triplet }}
|
||||||
|
vcpkgGitCommitId: 7db401cb1ef1fc559ec9f9ce814d064c328fd767
|
||||||
|
|
||||||
|
- name: Build with CMake
|
||||||
|
uses: lukka/run-cmake@v2
|
||||||
|
with:
|
||||||
|
useVcpkgToolchainFile: true
|
||||||
|
buildDirectory: ${{ runner.workspace }}/build
|
||||||
|
cmakeBuildType: ${{ matrix.buildtype }}
|
||||||
|
cmakeAppendedArgs: -DUSE_LUAJIT=${{ matrix.luajit }}
|
||||||
|
|
||||||
|
- name: dir
|
||||||
|
run: find $RUNNER_WORKSPACE
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Upload artifact binary
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
||||||
|
path: ${{ runner.workspace }}/build/otclient
|
||||||
|
if: "! contains( matrix.os, 'windows')"
|
||||||
|
|
||||||
|
- name: Upload artifact binary (exe)
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
||||||
|
path: ${{ runner.workspace }}/build/otclient.exe
|
||||||
|
if: contains( matrix.os, 'windows')
|
||||||
|
|
||||||
|
- name: Upload artifact binary (dlls)
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
||||||
|
path: ${{ runner.workspace }}/build/*.dll
|
||||||
|
if: contains( matrix.os, 'windows')
|
235
.gitignore
vendored
235
.gitignore
vendored
@ -1,49 +1,3 @@
|
|||||||
build*
|
|
||||||
CMakeCache.txt
|
|
||||||
CMakeFiles
|
|
||||||
cmake_install.cmake
|
|
||||||
Makefile
|
|
||||||
/otclient
|
|
||||||
/*.h
|
|
||||||
/*.cxx
|
|
||||||
*.o
|
|
||||||
*.gch
|
|
||||||
*.a
|
|
||||||
*.exe
|
|
||||||
*.spr
|
|
||||||
*.dat
|
|
||||||
*.kdev*
|
|
||||||
*.cbp
|
|
||||||
*~
|
|
||||||
*.kate-swap
|
|
||||||
*.autosave
|
|
||||||
CMakeLists.txt.user*
|
|
||||||
*.xml
|
|
||||||
*.otb
|
|
||||||
*.otbm
|
|
||||||
*.log
|
|
||||||
*.bak
|
|
||||||
*.swp
|
|
||||||
*.pic
|
|
||||||
.lvimrc
|
|
||||||
.clang_complete
|
|
||||||
config.otml
|
|
||||||
/modules/otclientrc.lua
|
|
||||||
/doc
|
|
||||||
!.gitignore
|
|
||||||
otclient.map
|
|
||||||
otclient.layout
|
|
||||||
otclient.exp
|
|
||||||
otclient.lib
|
|
||||||
LOCALTODO
|
|
||||||
tags
|
|
||||||
Thumbs.db
|
|
||||||
.directory
|
|
||||||
src/framework/graphics/dx/
|
|
||||||
modules/.project/modules.sublime-workspace
|
|
||||||
vc14/.vs/
|
|
||||||
*.dll
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
## Visual Studio
|
## Visual Studio
|
||||||
#################
|
#################
|
||||||
@ -55,6 +9,8 @@ vc14/.vs/
|
|||||||
*.suo
|
*.suo
|
||||||
*.user
|
*.user
|
||||||
*.sln.docstates
|
*.sln.docstates
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
|
||||||
# Build results
|
# Build results
|
||||||
|
|
||||||
@ -64,6 +20,7 @@ x64/
|
|||||||
build/
|
build/
|
||||||
[Bb]in/
|
[Bb]in/
|
||||||
[Oo]bj/
|
[Oo]bj/
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
# MSTest test Results
|
# MSTest test Results
|
||||||
[Tt]est[Rr]esult*/
|
[Tt]est[Rr]esult*/
|
||||||
@ -90,16 +47,19 @@ build/
|
|||||||
*.vssscc
|
*.vssscc
|
||||||
.builds
|
.builds
|
||||||
*.pidb
|
*.pidb
|
||||||
*.log
|
|
||||||
*.scc
|
*.scc
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
|
||||||
# Visual C++ cache files
|
# Visual C++ cache files
|
||||||
ipch/
|
ipch/
|
||||||
*.aps
|
*.aps
|
||||||
*.ncb
|
*.ncb
|
||||||
*.opensdf
|
*.opensdf
|
||||||
|
*.opendb
|
||||||
*.sdf
|
*.sdf
|
||||||
*.cachefile
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
|
||||||
# Visual Studio profiler
|
# Visual Studio profiler
|
||||||
*.psess
|
*.psess
|
||||||
@ -112,3 +72,184 @@ ipch/
|
|||||||
# ReSharper is a .NET coding add-in
|
# ReSharper is a .NET coding add-in
|
||||||
_ReSharper*/
|
_ReSharper*/
|
||||||
*.[Rr]e[Ss]harper
|
*.[Rr]e[Ss]harper
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
*.ncrunch*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.Publish.xml
|
||||||
|
*.pubxml
|
||||||
|
|
||||||
|
# NuGet Packages Directory
|
||||||
|
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||||
|
#packages/
|
||||||
|
|
||||||
|
# Windows Azure Build Output
|
||||||
|
csx
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Windows Store app package directory
|
||||||
|
AppPackages/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
sql/
|
||||||
|
*.Cache
|
||||||
|
ClientBin/
|
||||||
|
[Ss]tyle[Cc]op.*
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file to a newer
|
||||||
|
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
App_Data/*.mdf
|
||||||
|
App_Data/*.ldf
|
||||||
|
|
||||||
|
#############
|
||||||
|
## Windows detritus
|
||||||
|
#############
|
||||||
|
|
||||||
|
# Windows image file caches
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Mac crap
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
.coverage
|
||||||
|
.tox
|
||||||
|
|
||||||
|
#Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
#Mr Developer
|
||||||
|
.mr.developer.cfg
|
||||||
|
|
||||||
|
# Vim files
|
||||||
|
*~
|
||||||
|
.*.swp
|
||||||
|
.*.swo
|
||||||
|
|
||||||
|
#################
|
||||||
|
## OTClient
|
||||||
|
#################
|
||||||
|
|
||||||
|
/otclient
|
||||||
|
/modules/otclientrc.lua
|
||||||
|
src/framework/graphics/dx/
|
||||||
|
|
||||||
|
*.o
|
||||||
|
*.gch
|
||||||
|
*.a
|
||||||
|
*.kdev*
|
||||||
|
*.cbp
|
||||||
|
*~
|
||||||
|
*.kate-swap
|
||||||
|
*.autosave
|
||||||
|
*.bak
|
||||||
|
*.swp
|
||||||
|
.lvimrc
|
||||||
|
.clang_complete
|
||||||
|
LOCALTODO
|
||||||
|
tags
|
||||||
|
|
||||||
|
# user-specific files
|
||||||
|
*.xml
|
||||||
|
*.otb
|
||||||
|
*.otbm
|
||||||
|
*.spr
|
||||||
|
*.dat
|
||||||
|
*.pic
|
||||||
|
config.otml
|
||||||
|
|
||||||
|
## Cmake cache
|
||||||
|
CMakeLists.txt.user
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
CMakeScripts
|
||||||
|
Testing
|
||||||
|
Makefile
|
||||||
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
compile_commands.json
|
||||||
|
CTestTestfile.cmake
|
||||||
|
_deps
|
||||||
|
|
||||||
|
## Sublime
|
||||||
|
|
||||||
|
# Cache files for Sublime Text
|
||||||
|
*.tmlanguage.cache
|
||||||
|
*.tmPreferences.cache
|
||||||
|
*.stTheme.cache
|
||||||
|
|
||||||
|
# Workspace files are user-specific
|
||||||
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# Project files should be checked into the repository, unless a significant
|
||||||
|
# proportion of contributors will probably not be using Sublime Text
|
||||||
|
# *.sublime-project
|
||||||
|
|
||||||
|
# SFTP configuration file
|
||||||
|
sftp-config.json
|
||||||
|
sftp-config-alt*.json
|
||||||
|
|
||||||
|
# Package control specific files
|
||||||
|
Package Control.last-run
|
||||||
|
Package Control.ca-list
|
||||||
|
Package Control.ca-bundle
|
||||||
|
Package Control.system-ca-bundle
|
||||||
|
Package Control.cache/
|
||||||
|
Package Control.ca-certs/
|
||||||
|
Package Control.merged-ca-bundle
|
||||||
|
Package Control.user-ca-bundle
|
||||||
|
oscrypto-ca-bundle.crt
|
||||||
|
bh_unicode_properties.cache
|
||||||
|
|
||||||
|
# Sublime-github package stores a github token in this file
|
||||||
|
# https://packagecontrol.io/packages/sublime-github
|
||||||
|
GitHub.sublime-settings
|
Loading…
x
Reference in New Issue
Block a user