Build DX11 for a Windows 8.1 minimum (#119) #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) Microsoft Corporation. | |
# Licensed under the MIT License. | |
name: 'CMake (UWP using VCPKG)' | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
paths-ignore: | |
- '*.md' | |
- LICENSE | |
permissions: | |
contents: read | |
jobs: | |
build: | |
runs-on: 'windows-2022' | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [x64-Debug-VCPKG, x64-Debug-Clang-VCPKG] | |
arch: [amd64] | |
include: | |
- build_type: x86-Debug-VCPKG | |
arch: amd64_x86 | |
- build_type: arm64-Debug-VCPKG | |
arch: amd64_arm64 | |
- build_type: arm64-Debug-Clang-VCPKG | |
arch: amd64_arm64 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: 'Install Ninja' | |
run: choco install ninja | |
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 | |
with: | |
arch: ${{ matrix.arch }} | |
uwp: true | |
- name: 'Set triplet' | |
shell: pwsh | |
run: | | |
if ("${{ matrix.arch }}" -eq "amd64") | |
{ | |
echo "VCPKG_DEFAULT_TRIPLET=x64-uwp" >> $env:GITHUB_ENV | |
} | |
elseif ("${{ matrix.arch }}" -eq "amd64_x86") | |
{ | |
echo "VCPKG_DEFAULT_TRIPLET=x86-uwp" >> $env:GITHUB_ENV | |
} | |
elseif ("${{ matrix.arch }}" -eq "amd64_arm64") | |
{ | |
echo "VCPKG_DEFAULT_TRIPLET=arm64-uwp" >> $env:GITHUB_ENV | |
} | |
else | |
{ | |
echo "::error Unknown architecture/build-type triplet mapping" | |
} | |
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 | |
with: | |
runVcpkgInstall: true | |
vcpkgJsonGlob: '**/build/vcpkg.json' | |
vcpkgGitCommitId: '${{ vars.VCPKG_COMMIT_ID }}' | |
- name: 'Instance templates' | |
shell: pwsh | |
working-directory: ${{ github.workspace }}/VSIX | |
run: | | |
.\createcmake.ps1 d3d11game_uwp_cppwinrt Direct3DUWPGame ${{ github.workspace }} | |
.\createcmake.ps1 d3d11game_uwp_cppwinrt_dr Direct3DUWPGameDR ${{ github.workspace }} | |
.\createcmake.ps1 d3d12game_uwp_cppwinrt Direct3DUWP12Game ${{ github.workspace }} | |
.\createcmake.ps1 d3d12game_uwp_cppwinrt_dr Direct3DUWP12GameDR ${{ github.workspace }} | |
- name: 'Configure CMake - Direct3DUWPGame (DX11)' | |
working-directory: ${{ github.workspace }}/Direct3DUWPGame | |
run: > | |
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON | |
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" | |
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" | |
- name: 'Build - Direct3DUWPGame (DX11)' | |
working-directory: ${{ github.workspace }}/Direct3DUWPGame | |
run: cmake --build out\build\${{ matrix.build_type }} | |
- name: 'Configure CMake - Direct3DUWPGameDR (DX11)' | |
working-directory: ${{ github.workspace }}/Direct3DUWPGameDR | |
run: > | |
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON | |
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" | |
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" | |
- name: 'Build - Direct3DUWPGameDR (DX11)' | |
working-directory: ${{ github.workspace }}/Direct3DUWPGameDR | |
run: cmake --build out\build\${{ matrix.build_type }} | |
- name: 'Configure CMake - Direct3DUWP12Game (DX12)' | |
working-directory: ${{ github.workspace }}/Direct3DUWP12Game | |
run: > | |
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON | |
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" | |
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" | |
- name: 'Build - Direct3DUWP12Game (DX12)' | |
working-directory: ${{ github.workspace }}/Direct3DUWP12Game | |
run: cmake --build out\build\${{ matrix.build_type }} | |
- name: 'Configure CMake - Direct3DUWP12GameDR (DX12)' | |
working-directory: ${{ github.workspace }}/Direct3DUWP12GameDR | |
run: > | |
cmake --preset=${{ matrix.build_type }} -DBUILD_TEST_TEMPLATE=ON | |
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" | |
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" | |
- name: 'Build - Direct3DUWP12GameDR (DX12)' | |
working-directory: ${{ github.workspace }}/Direct3DUWP12GameDR | |
run: cmake --build out\build\${{ matrix.build_type }} |