SDL: Build the standalone MSVC projects with GitHub Actions

From b7f8117d406b6317eab4619a8b09324a37af8978 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Mon, 28 Feb 2022 15:47:59 +0000
Subject: [PATCH] Build the standalone MSVC projects with GitHub Actions

---
 .github/workflows/msvc.yml | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml
index 1907bf13409..ca78cb1c74f 100644
--- a/.github/workflows/msvc.yml
+++ b/.github/workflows/msvc.yml
@@ -11,12 +11,12 @@ jobs:
       fail-fast: false
       matrix:
         platform:
-        - { name: Windows (x64),          flags: -A x64 }
-        - { name: Windows (x86),          flags: -A Win32 }
+        - { name: Windows (x64),          flags: -A x64,   project: VisualC/SDL.sln, projectflags: '/p:Platform=x64' }
+        - { name: Windows (x86),          flags: -A Win32, project: VisualC/SDL.sln, projectflags: '/p:Platform=Win32' }
         - { name: Windows (clang-cl x64), flags: -T ClangCL -A x64 }
         - { name: Windows (clang-cl x86), flags: -T ClangCL -A Win32 }
         - { name: Windows (ARM64),        flags: -A ARM64 }
-        - { name: UWP (x64),              flags: -A x64 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0" -DSDL_TEST=OFF }
+        - { name: UWP (x64),              flags: -A x64 -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0" -DSDL_TEST=OFF, project: VisualC-WinRT/SDL-UWP.sln, projectflags: '/p:Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17763.0' }
 
     steps:
     - uses: actions/checkout@v2
@@ -25,3 +25,9 @@ jobs:
     - name: Build CMake
       run: cmake --build build/ --config Release --parallel
 
+    - name: Add msbuild to PATH
+      if: ${{ matrix.platform.project != '' }}
+      uses: microsoft/setup-msbuild@v1.0.2
+    - name: Build msbuild
+      if: ${{ matrix.platform.project != '' }}
+      run: msbuild ${{ matrix.platform.project }} /m /p:BuildInParallel=true /p:Configuration=Release ${{ matrix.platform.projectflags }}