1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
name: 'Windows (Clang)'
on:
push:
branches:
- 'master'
pull_request:
types: [ opened, synchronize ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
strategy:
fail-fast: false
matrix:
include:
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: GLFW
- BuildType: Release
Platform: x86
ArchExts: SSE
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: SSE2
Backend: SDL2
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: GLFW
- BuildType: Release
Platform: x64
ArchExts: AVX2
Backend: SDL2
runs-on: 'windows-latest'
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 'Setup MSBuild'
uses: microsoft/setup-msbuild@v1.3.2
- name: 'Download Build Dependencies'
run: |
mkdir Libs
cd Libs
Invoke-WebRequest -uri "https://github.com/Chuyu-Team/VC-LTL5/releases/download/v5.0.9/VC-LTL-5.0.9-Binary.7z" -Method "GET" -Outfile "VC-LTL-Binary.7z"
7z x ".\VC-LTL-Binary.7z" -o"VC-LTL"
- name: 'Configure CMake'
run: |
$archexts = '${{ matrix.ArchExts }}'
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' {
$arch = 'x64'
if(($archexts -eq 'SSE') -or ($archexts -eq 'SSE2')) {
$archexts = ''
}
}
}
rm -force ".\Content\Translations\*.po"
cmake -B ".\_build\" -D CMAKE_BUILD_TYPE=${{ matrix.BuildType }} -A $arch -D CMAKE_SYSTEM_PROCESSOR=$arch -D NCINE_ARCH_EXTENSIONS=$archexts -D NCINE_PREFERRED_BACKEND=${{ matrix.Backend }} -D NCINE_STRIP_BINARIES=ON -D NCINE_COPY_DEPENDENCIES=ON -T ClangCL
- name: 'Build'
run: |
switch('${{ matrix.Platform }}') {
'x86' { $arch = 'Win32' }
'x64' { $arch = 'x64' }
}
cd .\_build\
msbuild ".\Jazz2.sln" -p:Configuration=${{ matrix.BuildType }} -p:Platform=$arch
- name: 'Create Package'
run: |
mkdir _package
Move-Item -Path ".\_build\Release\Jazz2.exe" -Destination ".\_package\Jazz2.exe"
Move-Item -Path ".\_build\Release\Jazz2.pdb" -Destination ".\_package\Jazz2.pdb"
Move-Item -Path ".\_build\Release\*.dll" -Destination ".\_package\"
Move-Item -Path ".\Content\" -Destination ".\_package\Content\"
Move-Item -Path ".\LICENSE" -Destination ".\_package\LICENSE"
- name: 'Upload Package'
uses: actions/upload-artifact@v4
with:
name: Jazz2_Windows_${{ matrix.Platform }}_${{ matrix.ArchExts }}_${{ matrix.Backend }}_Clang
path: ./_package/
|