SDL: Automatically select the default platform toolset for examples in MSVC builds

From 3681a94c66198de62dd2c83c821ff71706c8429c Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Sat, 17 Jan 2026 18:19:45 +0000
Subject: [PATCH] Automatically select the default platform toolset for
 examples in MSVC builds

---
 .../examples/{Directory.Build.props => Examples.props} | 10 ++++++----
 .../asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj    |  3 +--
 .../01-simple-playback/01-simple-playback.vcxproj      |  3 +--
 .../02-simple-playback-callback.vcxproj                |  3 +--
 VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj |  3 +--
 .../04-multiple-streams/04-multiple-streams.vcxproj    |  3 +--
 .../camera/01-read-and-draw/01-read-and-draw.vcxproj   |  3 +--
 VisualC/examples/demo/01-snake/01-snake.vcxproj        |  3 +--
 .../demo/02-woodeneye-008/02-woodeneye-008.vcxproj     |  3 +--
 .../03-infinite-monkeys/03-infinite-monkeys.vcxproj    |  3 +--
 .../examples/demo/04-bytepusher/04-bytepusher.vcxproj  |  3 +--
 VisualC/examples/generate.py                           |  3 +--
 .../01-joystick-polling/01-joystick-polling.vcxproj    |  3 +--
 .../02-joystick-events/02-joystick-events.vcxproj      |  3 +--
 VisualC/examples/misc/03-locale/03-locale.vcxproj      |  3 +--
 .../pen/01-drawing-lines/01-drawing-lines.vcxproj      |  3 +--
 VisualC/examples/renderer/01-clear/01-clear.vcxproj    |  3 +--
 .../renderer/02-primitives/02-primitives.vcxproj       |  3 +--
 VisualC/examples/renderer/03-lines/03-lines.vcxproj    |  3 +--
 VisualC/examples/renderer/04-points/04-points.vcxproj  |  3 +--
 .../renderer/05-rectangles/05-rectangles.vcxproj       |  3 +--
 .../examples/renderer/06-textures/06-textures.vcxproj  |  3 +--
 .../07-streaming-textures.vcxproj                      |  3 +--
 .../08-rotating-textures/08-rotating-textures.vcxproj  |  3 +--
 .../09-scaling-textures/09-scaling-textures.vcxproj    |  3 +--
 .../examples/renderer/10-geometry/10-geometry.vcxproj  |  3 +--
 .../renderer/11-color-mods/11-color-mods.vcxproj       |  3 +--
 .../examples/renderer/14-viewport/14-viewport.vcxproj  |  3 +--
 .../examples/renderer/15-cliprect/15-cliprect.vcxproj  |  3 +--
 .../renderer/17-read-pixels/17-read-pixels.vcxproj     |  3 +--
 .../renderer/18-debug-text/18-debug-text.vcxproj       |  3 +--
 .../19-affine-textures/19-affine-textures.vcxproj      |  3 +--
 32 files changed, 37 insertions(+), 66 deletions(-)
 rename VisualC/examples/{Directory.Build.props => Examples.props} (93%)

diff --git a/VisualC/examples/Directory.Build.props b/VisualC/examples/Examples.props
similarity index 93%
rename from VisualC/examples/Directory.Build.props
rename to VisualC/examples/Examples.props
index 4833d3e768c5f..e393b0e5ee087 100644
--- a/VisualC/examples/Directory.Build.props
+++ b/VisualC/examples/Examples.props
@@ -26,32 +26,34 @@
   <PropertyGroup>
     <PreferredToolArchitecture>x64</PreferredToolArchitecture>
   </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v143</PlatformToolset>
+    <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v143</PlatformToolset>
+    <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v143</PlatformToolset>
+    <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v143</PlatformToolset>
+    <PlatformToolset Condition="'$(VisualStudioVersion)' != '10.0'">$(DefaultPlatformToolset)</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="Shared">
diff --git a/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj b/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj
index 7cdf98697c024..c51145d525eab 100644
--- a/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj
+++ b/VisualC/examples/asyncio/01-load-bitmaps/01-load-bitmaps.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6A2BFA8B-C027-400D-A18B-3E9E1CC4DDD0}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\asyncio\01-load-bitmaps\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\asyncio\01-load-bitmaps\load-bitmaps.c" />
diff --git a/VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj b/VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj
index de4a67cee1f92..df52b3ac43c2c 100644
--- a/VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj
+++ b/VisualC/examples/audio/01-simple-playback/01-simple-playback.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{EB448819-74BC-40C9-A61A-4D4ECD55F9D5}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\audio\01-simple-playback\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\audio\01-simple-playback\simple-playback.c" />
diff --git a/VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj b/VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj
index 7140c331ec480..c403a893c1421 100644
--- a/VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj
+++ b/VisualC/examples/audio/02-simple-playback-callback/02-simple-playback-callback.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6B710DFF-8A4A-40A2-BF2D-88D266F3D4F0}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\audio\02-simple-playback-callback\simple-playback-callback.c" />
diff --git a/VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj b/VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj
index 356cb6e2fc2fc..93384f70a0460 100644
--- a/VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj
+++ b/VisualC/examples/audio/03-load-wav/03-load-wav.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{608C6C67-7766-471F-BBFF-8B00086039AF}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\audio\03-load-wav\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\audio\03-load-wav\load-wav.c" />
diff --git a/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj b/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj
index b2e0a32c2aede..3df214536fcf7 100644
--- a/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj
+++ b/VisualC/examples/audio/04-multiple-streams/04-multiple-streams.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{7117A55C-BE4E-41DB-A4FC-4070E35A8B28}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\audio\04-multiple-streams\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\audio\04-multiple-streams\multiple-streams.c" />
diff --git a/VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj b/VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj
index c143bcec576b8..197cbbc984a8f 100644
--- a/VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj
+++ b/VisualC/examples/camera/01-read-and-draw/01-read-and-draw.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{510ACF0C-4012-4216-98EF-E4F155DE33CE}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\camera\01-read-and-draw\read-and-draw.c" />
diff --git a/VisualC/examples/demo/01-snake/01-snake.vcxproj b/VisualC/examples/demo/01-snake/01-snake.vcxproj
index 85128b40123ee..8b70db969c2f5 100644
--- a/VisualC/examples/demo/01-snake/01-snake.vcxproj
+++ b/VisualC/examples/demo/01-snake/01-snake.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{7820969A-5B7B-4046-BB0A-82905D457FC5}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\demo\01-snake\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\demo\01-snake\snake.c" />
diff --git a/VisualC/examples/demo/02-woodeneye-008/02-woodeneye-008.vcxproj b/VisualC/examples/demo/02-woodeneye-008/02-woodeneye-008.vcxproj
index 08f1da9959e50..bff8f03b37822 100644
--- a/VisualC/examples/demo/02-woodeneye-008/02-woodeneye-008.vcxproj
+++ b/VisualC/examples/demo/02-woodeneye-008/02-woodeneye-008.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{A3F601E0-B54C-4DD8-8A97-FDEF7624EE60}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\demo\02-woodeneye-008\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\demo\02-woodeneye-008\woodeneye-008.c" />
diff --git a/VisualC/examples/demo/03-infinite-monkeys/03-infinite-monkeys.vcxproj b/VisualC/examples/demo/03-infinite-monkeys/03-infinite-monkeys.vcxproj
index a08c5e4a19110..283a112d62302 100644
--- a/VisualC/examples/demo/03-infinite-monkeys/03-infinite-monkeys.vcxproj
+++ b/VisualC/examples/demo/03-infinite-monkeys/03-infinite-monkeys.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{75AEE75A-C016-4497-960B-D767B822237D}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\demo\03-infinite-monkeys\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\demo\03-infinite-monkeys\infinite-monkeys.c" />
diff --git a/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj b/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj
index b7894b5ef4bdf..bf21db985b9e2 100644
--- a/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj
+++ b/VisualC/examples/demo/04-bytepusher/04-bytepusher.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{3DB9B219-769E-43AC-8B8B-319DB6045DCF}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\demo\04-bytepusher\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\demo\04-bytepusher\bytepusher.c" />
diff --git a/VisualC/examples/generate.py b/VisualC/examples/generate.py
index 62614d26bca12..e65ed62f497ae 100755
--- a/VisualC/examples/generate.py
+++ b/VisualC/examples/generate.py
@@ -13,8 +13,7 @@ def generate(category, example_name, c_source_file):
   <PropertyGroup Label="Globals">
     <ProjectGuid>{{{guid}}}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\\examples\\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\\..\\examples\\{category}\\{example_name}\\README.txt" />
     <ClCompile Include="$(SolutionDir)\\..\\examples\\{category}\\{example_name}\\{c_source_file}" />
diff --git a/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj b/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj
index e3fc671585dce..a721ae8837647 100644
--- a/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj
+++ b/VisualC/examples/input/01-joystick-polling/01-joystick-polling.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B3852DB7-E925-4026-8B9D-D2272EFEFF3C}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\input\01-joystick-polling\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\input\01-joystick-polling\joystick-polling.c" />
diff --git a/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj b/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj
index c119584d6b570..4dc4cb26be4ab 100644
--- a/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj
+++ b/VisualC/examples/input/02-joystick-events/02-joystick-events.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{FCBDF2B2-1129-49AE-9406-3F219E65CA89}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\input\02-joystick-events\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\input\02-joystick-events\joystick-events.c" />
diff --git a/VisualC/examples/misc/03-locale/03-locale.vcxproj b/VisualC/examples/misc/03-locale/03-locale.vcxproj
index 5565fe006da88..1d9fcee5b0437 100644
--- a/VisualC/examples/misc/03-locale/03-locale.vcxproj
+++ b/VisualC/examples/misc/03-locale/03-locale.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6381F9D3-BA5F-4E5C-80FF-9013964777EE}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\misc\03-locale\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\misc\03-locale\locale.c" />
diff --git a/VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj b/VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj
index 64025bb77ab67..c7dc601497deb 100644
--- a/VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj
+++ b/VisualC/examples/pen/01-drawing-lines/01-drawing-lines.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{5EDA1ED3-8213-4C12-B0DF-B631EB611804}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\pen\01-drawing-lines\drawing-lines.c" />
diff --git a/VisualC/examples/renderer/01-clear/01-clear.vcxproj b/VisualC/examples/renderer/01-clear/01-clear.vcxproj
index e55d8df355d3d..9394f51375e2f 100644
--- a/VisualC/examples/renderer/01-clear/01-clear.vcxproj
+++ b/VisualC/examples/renderer/01-clear/01-clear.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{896557AC-7575-480C-8FFD-AB08B5DA305D}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\01-clear\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\01-clear\clear.c" />
diff --git a/VisualC/examples/renderer/02-primitives/02-primitives.vcxproj b/VisualC/examples/renderer/02-primitives/02-primitives.vcxproj
index 525bba761663e..5d84a2b535aac 100644
--- a/VisualC/examples/renderer/02-primitives/02-primitives.vcxproj
+++ b/VisualC/examples/renderer/02-primitives/02-primitives.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{504DC7EC-D82E-448E-9C7D-3BE7981592B3}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\02-primitives\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\02-primitives\primitives.c" />
diff --git a/VisualC/examples/renderer/03-lines/03-lines.vcxproj b/VisualC/examples/renderer/03-lines/03-lines.vcxproj
index 4b40b7e28b600..d55e8ea9cb6e9 100644
--- a/VisualC/examples/renderer/03-lines/03-lines.vcxproj
+++ b/VisualC/examples/renderer/03-lines/03-lines.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{BDE7DBC0-DCE7-432E-8750-C4AE55463699}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\03-lines\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\03-lines\lines.c" />
diff --git a/VisualC/examples/renderer/04-points/04-points.vcxproj b/VisualC/examples/renderer/04-points/04-points.vcxproj
index 0c8fa22f5694b..61ed54233242f 100644
--- a/VisualC/examples/renderer/04-points/04-points.vcxproj
+++ b/VisualC/examples/renderer/04-points/04-points.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{7B250AB1-92D3-4F1A-BEB4-19605A69CEDB}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\04-points\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\04-points\points.c" />
diff --git a/VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj b/VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj
index 8d4b33b5c2c37..adabb5784b4a7 100644
--- a/VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj
+++ b/VisualC/examples/renderer/05-rectangles/05-rectangles.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{4C0E3A60-24F8-4D4C-81C0-C1777F5E7B17}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\05-rectangles\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\05-rectangles\rectangles.c" />
diff --git a/VisualC/examples/renderer/06-textures/06-textures.vcxproj b/VisualC/examples/renderer/06-textures/06-textures.vcxproj
index a2c43ff6f7316..9ffbce8e09f9c 100644
--- a/VisualC/examples/renderer/06-textures/06-textures.vcxproj
+++ b/VisualC/examples/renderer/06-textures/06-textures.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B3D61611-BFA3-4B66-ADC7-A3CE578A6D36}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\06-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\06-textures\textures.c" />
diff --git a/VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj b/VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj
index 0830c4fbbeb79..0047b1f3f51ff 100644
--- a/VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj
+++ b/VisualC/examples/renderer/07-streaming-textures/07-streaming-textures.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{540AE143-A58F-4D3B-B843-94EA8576522D}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\07-streaming-textures\streaming-textures.c" />
diff --git a/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj b/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
index f6a939c6d4553..7e42a160d9d65 100644
--- a/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
+++ b/VisualC/examples/renderer/08-rotating-textures/08-rotating-textures.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{7091C001-3D71-47D4-B27B-E99271E5B987}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\08-rotating-textures\rotating-textures.c" />
diff --git a/VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj b/VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj
index ada32f70009cd..cb25c8756bf9a 100644
--- a/VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj
+++ b/VisualC/examples/renderer/09-scaling-textures/09-scaling-textures.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{AF8BC84E-0268-4D1F-9503-84D9EE84C65F}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\09-scaling-textures\scaling-textures.c" />
diff --git a/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj b/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
index ba3fe99194774..6537bf81e1091 100644
--- a/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
+++ b/VisualC/examples/renderer/10-geometry/10-geometry.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{8B9AB23E-3F40-4145-BA1C-B2CEACFBBD72}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\10-geometry\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\10-geometry\geometry.c" />
diff --git a/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj b/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
index 97b943c795da9..d3dd6dea9c79d 100644
--- a/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
+++ b/VisualC/examples/renderer/11-color-mods/11-color-mods.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E9C6A7A6-22C0-42E6-AC9C-8580A396D077}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\11-color-mods\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\11-color-mods\color-mods.c" />
diff --git a/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj b/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
index 0e20fb8c481dc..ab45ac4bc1f20 100644
--- a/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
+++ b/VisualC/examples/renderer/14-viewport/14-viewport.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B85BC466-C7F0-4C6D-8ECF-ED57E775FC73}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\14-viewport\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\14-viewport\viewport.c" />
diff --git a/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj b/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
index fb2a8fbb72fe3..b98dbb416b0df 100644
--- a/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
+++ b/VisualC/examples/renderer/15-cliprect/15-cliprect.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{9DBD962F-EA4D-44E3-8E8E-31D7F060A2DC}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\15-cliprect\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\15-cliprect\cliprect.c" />
diff --git a/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj b/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
index 68c6d0eb8ced9..fea18779d3abc 100644
--- a/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
+++ b/VisualC/examples/renderer/17-read-pixels/17-read-pixels.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{EEF00329-4598-4E34-B969-9DD4B0815E6C}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\17-read-pixels\read-pixels.c" />
diff --git a/VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj b/VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj
index 98f11985e9b67..e1d1807b784e7 100644
--- a/VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj
+++ b/VisualC/examples/renderer/18-debug-text/18-debug-text.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{CC0714AA-8A81-4E29-BEC5-2E4FBC50E7FE}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\18-debug-text\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\18-debug-text\debug-text.c" />
diff --git a/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj b/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj
index b5575ecd9fe46..bca6c390c999e 100644
--- a/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj
+++ b/VisualC/examples/renderer/19-affine-textures/19-affine-textures.vcxproj
@@ -3,8 +3,7 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E21C50BF-54B4-434C-AA24-9A6469553987}</ProjectGuid>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Import Project="$(SolutionDir)\examples\Examples.props" />
   <ItemGroup>
     <None Include="$(SolutionDir)\..\examples\renderer\19-affine-textures\README.txt" />
     <ClCompile Include="$(SolutionDir)\..\examples\renderer\19-affine-textures\affine-textures.c" />

(Patch may be truncated, please check the link at the top of this post.)