• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: windows
2
3on:
4  push:
5    paths-ignore:
6    - '.github/workflows/**'
7    - '!.github/workflows/windows.yml'
8    - '!.github/workflows/EnterDevShell.ps1'
9  pull_request:
10    paths-ignore:
11    - '.github/workflows/**'
12    - '!.github/workflows/windows.yml'
13    - '!.github/workflows/EnterDevShell.ps1'
14
15permissions: read
16
17jobs:
18  windows-msvc:
19    runs-on: windows-2022
20    steps:
21    - name: checkout libva
22      uses: actions/checkout@v3
23      with:
24        repository: intel/libva
25        path: libva
26    - name: checkout libva-utils
27      uses: actions/checkout@v3
28      with:
29        path: libva-utils
30    - name: 'Setup Python'
31      uses: actions/setup-python@v4
32      with:
33        python-version: '3.x'
34    - name: Install Meson
35      run: pip install meson
36    - name: Install pkg-config
37      shell: pwsh
38      run: |
39        Invoke-RestMethod -Uri https://download.gnome.org/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip -OutFile pkg-config_0.26-1_win32.zip
40        Expand-Archive pkg-config_0.26-1_win32.zip
41        Invoke-RestMethod -Uri http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip -OutFile glib_2.28.8-1_win32.zip
42        Expand-Archive glib_2.28.8-1_win32.zip
43        Invoke-RestMethod -Uri http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip -OutFile gettext-runtime_0.18.1.1-2_win32.zip
44        Expand-Archive gettext-runtime_0.18.1.1-2_win32.zip
45        mkdir pkg-config
46        cp pkg-config_0.26-1_win32\bin\* pkg-config\
47        cp gettext-runtime_0.18.1.1-2_win32\bin\* pkg-config\
48        cp glib_2.28.8-1_win32\bin\* pkg-config\
49    - name: Enter DevShell
50      run: 'libva-utils\.github\workflows\EnterDevShell.ps1 ${{ inputs.architecture }}'
51      shell: pwsh
52    - name: Build libva
53      run: |
54        cd libva
55        meson build
56        ninja -C build install
57    - name: Build libva-utils
58      run: |
59        $env:Path += ";"
60        $env:Path += Resolve-Path pkg-config\
61        $env:Path += ";c:\bin\;c:\lib\"
62        $env:PKG_CONFIG_PATH = "C:\lib\pkgconfig"
63        del C:\Strawberry\perl\bin\pkg-config*
64        cd libva-utils
65        meson build -Dtests=true
66        ninja -C build install
67
68  windows-mingw:
69    runs-on: windows-2022
70    defaults:
71      run:
72        shell: msys2 {0}
73    steps:
74    - name: checkout libva
75      uses: actions/checkout@v3
76      with:
77        repository: intel/libva
78        path: libva
79    - name: checkout libva-utils
80      uses: actions/checkout@v3
81      with:
82        path: libva-utils
83    - name: 'Setup MSYS2'
84      uses: msys2/setup-msys2@v2
85      with:
86        msystem: mingw64
87        update: false
88        install: >-
89          git
90        pacboy: >-
91          toolchain:p
92          meson:p
93    - name: Enter DevShell
94      run: 'libva-utils\.github\workflows\EnterDevShell.ps1 ${{ inputs.architecture }}'
95      shell: pwsh
96    - name: Build libva
97      run: |
98        cd libva
99        CC=gcc meson build
100        CC=gcc ninja -C build install
101    - name: Build libva-utils
102      run: |
103        cd libva-utils
104        CC=gcc meson build -Dtests=true
105        CC=gcc ninja -C build install
106