File: windows_clang.yml

package info (click to toggle)
jazz2-native 3.5.0-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 16,912 kB
  • sloc: cpp: 172,557; xml: 113; python: 36; makefile: 5; sh: 2
file content (110 lines) | stat: -rw-r--r-- 3,134 bytes parent folder | download
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/