Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  build.yml  Sprache: unbekannt

 
Spracherkennung für: .yml vermutete Sprache: MT940 {MT940[37] SQL[26] Fortran[24]} [Methode: maximale Elemente, drei Dimensionen]

name: Run tests with MSVC

on:
  push:

jobs:
  msvc-x86:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        arch:
          - x86
          - x64
    steps:
      - name: Install prerequisites
        run: |
          pip install meson
          choco install nasm
          echo "C:\Program Files\NASM" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
      - name: Set up the MSVC environment
        uses: ilammy/msvc-dev-cmd@v1
        with:
          arch: ${{matrix.arch}}
      - uses: actions/checkout@v6
      - name: Build and test
        run: |
          meson setup build --buildtype release `
                            --werror `
                            -Ddefault_library=both
          cd build
          ninja
          meson test -v

  msvc-cross-arm64:
    # Test cross compilation with MSVC; here, we don't have any working
    # host compiler available, as the only compiler in $PATH is a cross
    # compiler.
    runs-on: windows-latest
    steps:
      - name: Install prerequisites
        run: |
          pip install meson
      - name: Set up the MSVC environment
        uses: ilammy/msvc-dev-cmd@v1
        with:
          arch: amd64_arm64
      - uses: actions/checkout@v6
      - name: Checkout gas-preprocessor
        uses: actions/checkout@v6
        with:
          repository: ffmpeg/gas-preprocessor
          ref: f85b94087d168564b777877dfb3a0eeea3d57678
          path: gas-preprocessor
      - name: Add gas-preprocessor to path
        run: |
          echo "$PWD\gas-preprocessor" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
      - name: Create cross file
        shell: bash
        run: |
          cat >cross.txt <<EOF
          [binaries]
          c = 'cl'
          cpp = 'cl'
          ar = 'lib'
          windres = 'rc'

          [properties]
          needs_exe_wrapper = true

          [host_machine]
          system = 'windows'
          cpu_family = 'aarch64'
          cpu = 'aarch64'
          endian = 'little'
          EOF
      - name: Build and test
        run: |
          meson setup build --cross-file cross.txt --buildtype release `
                            --werror `
                            -Ddefault_library=both
          cd build
          ninja
          meson test -v

  msvc-arm64:
    runs-on: windows-11-arm
    strategy:
      fail-fast: false
      matrix:
        uwp:
          - false
          - true
    steps:
      - name: Install prerequisites
        run: |
          pip install meson
      - name: Set up the MSVC environment
        uses: ilammy/msvc-dev-cmd@v1
        with:
          # The preinstalled versions of WinSDK no longer contain support
          # for ARM, only ARM64
          arch: arm64
      - uses: actions/checkout@v6
      - name: Checkout gas-preprocessor
        uses: actions/checkout@v6
        with:
          repository: ffmpeg/gas-preprocessor
          ref: f85b94087d168564b777877dfb3a0eeea3d57678
          path: gas-preprocessor
      - name: Add gas-preprocessor to path
        run: |
          echo "$PWD\gas-preprocessor" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
      - name: Set CFLAGS
        if: matrix.uwp
        run: |
          echo "CFLAGS=-DWINAPI_FAMILY=WINAPI_FAMILY_APP" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
      - name: Build and test
        run: |
          meson setup build --buildtype release `
                            --werror `
                            -Ddefault_library=both
          cd build
          ninja
          meson test -v

  clangcl-arm64:
    runs-on: windows-11-arm
    steps:
      - name: Install prerequisites
        run: |
          pip install meson
      - name: Set up the MSVC environment
        uses: ilammy/msvc-dev-cmd@v1
        with:
          arch: arm64
      - uses: actions/checkout@v6
      - name: Build and test
        run: |
          $Env:CC = "clang-cl"
          meson setup build --buildtype release `
                            --werror `
                            -Ddefault_library=both
          cd build
          ninja
          meson test -v

  msvc-wine:
    runs-on: ubuntu-24.04-arm
    container: ghcr.io/mstorsjo/wine
    strategy:
      fail-fast: false
      matrix:
        arch:
          - arm
          - arm64
    steps:
      - name: Cache MSVC
        id: cache-msvc
        uses: actions/cache@v4
        with:
          path: /opt/msvc
          key: msvc-arm64-17.13
      - name: Checkout msvc-wine
        if: ${{ !steps.cache-msvc.outputs.cache-hit }}
        uses: actions/checkout@v6
        with:
          repository: mstorsjo/msvc-wine
          ref: 91759aa0131a166f17602f81012737a6f353d608
          path: msvc-wine
      - name: Install msvc-wine
        if: ${{ !steps.cache-msvc.outputs.cache-hit }}
        run: |
          apt-get update && apt-get install -y --no-install-recommends python3 msitools ca-certificates winbind
          wine wineboot
          cd msvc-wine
          # This is the latest WinSDK that contains support for ARM
          ./vsdownload.py --accept-license --dest /opt/msvc --sdk-version 10.0.22621 --msvc-version 17.13
          ./install.sh /opt/msvc
      - name: Install prerequisites
        run: |
          apt-get update && apt-get install -y --no-install-recommends meson
      - uses: actions/checkout@v6
      - name: Checkout gas-preprocessor
        uses: actions/checkout@v6
        with:
          repository: ffmpeg/gas-preprocessor
          ref: f85b94087d168564b777877dfb3a0eeea3d57678
          path: gas-preprocessor
      - name: Build and test
        run: |
          export PATH=$(pwd)/gas-preprocessor:/opt/msvc/bin/${{matrix.arch}}:$PATH

          arch=${{matrix.arch}}
          case $arch in
          arm)
              cpu=armv7
              cpu_family=arm
              ;;
          arm64)
              cpu=aarch64
              cpu_family=aarch64
              ;;
          esac
          cat >cross.txt <<EOF
          [binaries]
          c = 'cl'
          cpp = 'cl'
          ar = 'lib'
          windres = 'rc'
          exe_wrapper = ['wine']

          [properties]
          needs_exe_wrapper = true

          [host_machine]
          system = 'windows'
          cpu_family = '$cpu_family'
          cpu = '$cpu'
          endian = 'little'
          EOF

          meson setup build --cross-file cross.txt \
                            --werror \
                            -Ddefault_library=both
          cd build
          ninja
          meson test -v

[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-10-24]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1104857
#Domains=438931