diff --git a/.github/workflows/windows-clang.yml b/.github/workflows/windows-clang.yml deleted file mode 100644 index e9d95a0e8d..0000000000 --- a/.github/workflows/windows-clang.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: windows-clang - -on: - push: - branches: - - dev - - release - - paths-ignore: - - '**.md' - - 'docs/**' - -jobs: - build: - if: ${{ !startsWith(github.event.commits[0].message, 'Merge pull request') }} - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. - # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix - runs-on: windows-latest - strategy: - matrix: - arch: - - x64 - env: - BUILD_ARCH: ${{ matrix.arch }} - # Test winsdk < 10.0.22000.0 (missing C11 standard stdalign.h), axmol will auto fallback to C99 for resolving compiling issue. - # WINSDK_VER: '10.0.19041.0' - - steps: - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.7.8' - - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v1 - with: - version: "16.0" - - - name: Build - run: .\build.ps1 -p win32 -a 'x64' -cc clang diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b646982c0b..5194360fe1 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,37 +11,96 @@ on: - 'docs/**' jobs: - build: - if: ${{ !startsWith(github.event.commits[0].message, 'Merge pull request') }} + win32: # The CMake configure and build commands are platform agnostic and should work equally # well on Windows or Mac. You can convert this to a matrix build if you need # cross-platform coverage. # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix runs-on: windows-latest - strategy: - matrix: - config: - - {arch: x86, dll: false} - - {arch: x64, dll: false} - - {arch: x86, dll: true} - - {arch: x64, dll: true} - env: - BUILD_ARCH: ${{ matrix.config.arch }} - BUILD_DLL: ${{ matrix.config.dll }} - steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.7.8' - - uses: ilammy/msvc-dev-cmd@v1.12.1 with: - arch: ${{ env.BUILD_ARCH }} - + arch: 'x64' - name: Build - run: .\build.ps1 -p win32 -a $env:BUILD_ARCH -dll $env:BUILD_DLL + shell: pwsh + run: .\build.ps1 -p win32 -a x64 + win32-dll: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.7.8' + - uses: ilammy/msvc-dev-cmd@v1.12.1 + with: + arch: 'x64' + - name: Build + shell: pwsh + run: .\build.ps1 -p win32 -a x64 -dll true + winuwp: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.7.8' + - uses: ilammy/msvc-dev-cmd@v1.12.1 + with: + arch: 'x64' + uwp: true + - name: Build + shell: pwsh + run: .\build.ps1 -p winuwp -a x64 + - uses: actions/upload-artifact@v3 + with: + name: x64 + path: | + build_*/tests/**/AppPackages/**/*.msix + win32-clang: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix + runs-on: windows-latest + env: + # Test winsdk < 10.0.22000.0 (missing C11 standard stdalign.h), axmol will auto fallback to C99 for resolving compiling issue. + WINSDK_VER: '10.0.19041.0' + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.7.8' + + - name: Install LLVM and Clang + uses: KyleMayes/install-llvm-action@v1 + with: + version: "16.0" + + - name: Build + shell: pwsh + run: .\build.ps1 -p win32 -a 'x64' -cc clang -winsdk $env:WINSDK_VER diff --git a/.github/workflows/winuwp.yml b/.github/workflows/winuwp.yml deleted file mode 100644 index a930b4055e..0000000000 --- a/.github/workflows/winuwp.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: winuwp - -on: - push: - branches: - - dev - - release - - paths-ignore: - - '**.md' - - 'docs/**' - -jobs: - toolset-latest: - if: ${{ !startsWith(github.event.commits[0].message, 'Merge pull request') }} - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. - # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix - runs-on: windows-latest - strategy: - matrix: - arch: - - x64 - - arm64 - - env: - BUILD_ARCH: ${{ matrix.arch }} - - steps: - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.7.8' - - - uses: ilammy/msvc-dev-cmd@v1.12.1 - with: - arch: ${{ env.BUILD_ARCH }} - uwp: true - - - name: Build - run: .\build.ps1 -p winuwp -a $env:BUILD_ARCH - - - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.arch }} - path: | - build_*/tests/**/AppPackages/**/*.msix diff --git a/README.md b/README.md index 1e7b7afa61..e72a95cbd3 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,7 @@ | Build | Status (github) | |-------|-----------------| -| Windows Desktop|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows.yml)| -| Windows Desktop(Clang)|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows-clang.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows-clang.yml)| -| Windows UWP|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/winuwp.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/winuwp.yml)| +| Windows(win32,winuwp,win32-clang)|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows.yml)| | Android | [![Android Build Status](https://github.com/axmolengine/axmol/workflows/android/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aandroid)| | iOS |[![iOS Build Status](https://github.com/axmolengine/axmol/workflows/ios/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aios)| | tvOS |[![tvOS Build Status](https://github.com/axmolengine/axmol/workflows/tvos/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Atvos)| @@ -35,7 +33,7 @@ The new `ui::MediaPlayer`(renamed from `ui::VideoPlayer`) render video as Texture2D with designed corss-platform MediaEngine, the MediaEngine inspired from microsoft media foundation `IMFMediaEngine`, the `MediaPlayer` support all platforms which axmol engine does. -| Platform | Video Compress Format | Video Pixel Format | Container Format | Backend | +| Target Platform | Video Compress Format | Video Pixel Format | Container Format | Backend | |-----------------------|-----------------------|----------------------|----------------- |--------------------| | Windows Desktop | H264, HEVC, VP90 | YUY2, NV12, RGB32 | .mp4,.mkv,.webm | IMFMediaSession | | Windows UWP | H264, HEVC, VP90 | BGR32 | .mp4,.mkv,.webm | IMFMediaEngine | diff --git a/README_CN.md b/README_CN.md index bafbef8d94..a518c472b3 100644 --- a/README_CN.md +++ b/README_CN.md @@ -15,9 +15,7 @@ ## 支持平台列表 | Build | Status (github) | |-------|-----------------| -| Windows Desktop|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows.yml)| -| Windows Desktop(Clang)|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows-clang.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows-clang.yml)| -| Windows UWP|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/winuwp.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/winuwp.yml)| +| Windows(win32,winuwp,win32-clang)|[![Win32 CI](https://github.com/axmolengine/axmol/actions/workflows/windows.yml/badge.svg)](https://github.com/axmolengine/axmol/actions/workflows/windows.yml)| | Android | [![Android Build Status](https://github.com/axmolengine/axmol/workflows/android/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aandroid)| | iOS |[![iOS Build Status](https://github.com/axmolengine/axmol/workflows/ios/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Aios)| | tvOS |[![tvOS Build Status](https://github.com/axmolengine/axmol/workflows/tvos/badge.svg)](https://github.com/axmolengine/axmol/actions?query=workflow%3Atvos)| @@ -28,7 +26,7 @@ 新的媒体播放器`ui::MediaPlayer`(原命: `ui::VideoPlayer`) 将视频渲染为纹理,使得游戏对视频渲染控制更加灵活,就像普通UI一样,而无需考虑层级问题。这得益于重新升级的跨平台`MediaEngine`, 灵感来自微软的媒体基础库(Microsoft Media Foundation): `IMFMediaEngine`,目前已支持axmol引擎支持的所有平台。 -| Platform | Video Compress Format | Video Pixel Format | Container Format | Backend | +| Target Platform | Video Compress Format | Video Pixel Format | Container Format | Backend | |-----------------------|-----------------------|----------------------|----------------- |--------------------| | Windows Desktop | H264, HEVC, VP90 | YUY2, NV12, RGB32 | .mp4,.mkv,.webm | IMFMediaSession | | Windows UWP | H264, HEVC, VP90 | BGR32 | .mp4,.mkv,.webm | IMFMediaEngine |