@@ -0,0 +1,75 @@
|
||||
name: Windows Build (CLang)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main", "release-**"]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
compiler: clang
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
- uses: msys2/setup-msys2@v2
|
||||
id: msys2
|
||||
name: Setup MSYS2
|
||||
with:
|
||||
msystem: clang64
|
||||
install: >-
|
||||
mingw-w64-clang-x86_64-toolchain
|
||||
mingw-w64-clang-x86_64-cmake
|
||||
mingw-w64-clang-x86_64-make
|
||||
mingw-w64-clang-x86_64-luajit
|
||||
git tree
|
||||
- name: Set up vcpkg
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
git clone https://github.com/microsoft/vcpkg.git
|
||||
cd vcpkg
|
||||
./bootstrap-vcpkg.bat
|
||||
./vcpkg integrate install
|
||||
cd ..
|
||||
- name: Configure project with CMake and vcpkg
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
export VCPKG_DEFAULT_TRIPLET=x64-mingw-static
|
||||
export VCPKG_DEFAULT_HOST_TRIPLET=x64-mingw-static
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "MinGW Makefiles" -DVCPKG_TARGET_TRIPLET=x64-mingw-static -DCMAKE_BUILD_TYPE=Release -DVOXELENGINE_BUILD_WINDOWS_VCPKG=ON ..
|
||||
cmake --build . --config Release
|
||||
- name: Package for Windows
|
||||
run: |
|
||||
mkdir packaged
|
||||
mkdir packaged/res
|
||||
cp build/VoxelEngine.exe packaged/
|
||||
cp build/vctest/vctest.exe packaged/
|
||||
cp build/*.dll packaged/
|
||||
cp -r build/res/* packaged/res/
|
||||
mv packaged/VoxelEngine.exe packaged/VoxelCore.exe
|
||||
- env:
|
||||
MSYS2_LOCATION: ${{ steps.msys2.outputs.msys2-location }}
|
||||
name: Add lua51.dll to the package
|
||||
run: |
|
||||
cp $env:MSYS2_LOCATION/clang64/bin/lua51.dll ${{ github.workspace }}/packaged/
|
||||
working-directory: ${{ github.workspace }}
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Windows-Build
|
||||
path: 'packaged/*'
|
||||
- name: Run engine tests
|
||||
shell: msys2 {0}
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
packaged/vctest.exe -e packaged/VoxelCore.exe -d dev/tests -u build --output-always
|
||||
Reference in New Issue
Block a user