Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d3cb476
fix build
benstevens48 Nov 22, 2024
646a35f
more build fixes
benstevens48 Nov 22, 2024
be548e0
disable generating cswinrt projection
benstevens48 Nov 22, 2024
ce89a47
nuget fix
benstevens48 Nov 22, 2024
672f037
update nuget
benstevens48 Nov 22, 2024
d5d7602
small build fix
benstevens48 Nov 23, 2024
e404c15
fix appx folder
benstevens48 Jan 4, 2025
1063ebb
add bundle extension
benstevens48 Jan 4, 2025
e29ef24
fix name again
benstevens48 Jan 4, 2025
39221f5
add back projection
benstevens48 Jan 4, 2025
341d986
remove unnecessary changes
benstevens48 Jan 9, 2025
5f70ecc
Merge branch 'master' into fix-build
benstevens48 Jan 9, 2025
9548716
revert binary location changes
benstevens48 Jan 9, 2025
56e1a2e
reapply bin location changes
benstevens48 Jan 9, 2025
a847565
remove extra space
benstevens48 Jan 9, 2025
e7ad7f4
revert binary location changes again
benstevens48 Jan 9, 2025
23fcad5
reapply version changes
benstevens48 Jan 9, 2025
9e13094
undo unnecessary changes again
benstevens48 Jan 9, 2025
96cad97
fix appx tests
benstevens48 Jan 9, 2025
a7e6c46
update publisher to fix warnings
benstevens48 Jan 9, 2025
7bea09f
one more publisher update
benstevens48 Jan 9, 2025
fa4b4bd
final nuget upgrade
benstevens48 Jan 10, 2025
24a301c
fix directxtk version
benstevens48 Jan 10, 2025
4f546d0
update windows sdk target
benstevens48 Feb 10, 2026
9b89491
fix nuget build with vs2026
benstevens48 Feb 10, 2026
7ba59bf
fix building docs
benstevens48 Feb 10, 2026
9cfdfc8
full fix tests on vs 2026
benstevens48 Feb 10, 2026
a70dd2b
upgrade build tools
benstevens48 Feb 10, 2026
fcaba46
Merge branch 'master' into fix-build
benstevens48 Feb 10, 2026
8196412
minor update
benstevens48 Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ appropriate test suites.
To validate your changes, run "msbuild /m /nr:false Win2D.proj" from a
Visual Studio Developer Command Prompt. This will:

- Build all flavors of all projects (debug, release, x86, x64, ARM, and ARM64)
- Build all flavors of all projects (debug, release, x86, x64, and ARM64)
- Run all automated tests
- Generate updated reference documentation
- Make sure all source files include the correct MIT copyright header
Expand Down
58 changes: 11 additions & 47 deletions Win2D.proj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<!-- Parameters that can be configured by the caller, eg. "msbuild Win2D.proj /p:BuildTests=false" -->
<PropertyGroup>
<BuildPlatforms>Win32;x64;ARM;ARM64;AnyCPU</BuildPlatforms>
<BuildPlatforms>Win32;x64;ARM64;AnyCPU</BuildPlatforms>
<BuildConfigurations>Debug;Release</BuildConfigurations>
<BuildTests>true</BuildTests>
<BuildTools>true</BuildTools>
Expand All @@ -28,7 +28,7 @@
<!-- Set default platforms for each project type -->
<ItemDefinitionGroup>
<UAPProject>
<Platforms>Win32;x64;ARM;ARM64</Platforms>
<Platforms>Win32;x64;ARM64</Platforms>
<BinDir>UAP</BinDir>
</UAPProject>
<AnyCPUProject>
Expand Down Expand Up @@ -62,7 +62,7 @@
</UAPProject>
<UAPProject Include="winrt\test.nativecomponent\winrt.test.nativecomponent.uap.vcxproj" />
<UAPProject Include="winrt\test.managed\winrt.test.managed.uap.csproj">
<Platforms>Win32;x64;ARM</Platforms>
<Platforms>Win32;x64</Platforms>
<AutomatedTests Condition="$(ShouldRunUAPTests)">store</AutomatedTests>
<BuildInParallel>false</BuildInParallel>
</UAPProject>
Expand Down Expand Up @@ -99,54 +99,21 @@
<Target Name="Build"
DependsOnTargets="BuildProjects; CheckCode; BuildDocs; RunTests" />


<!-- TargetPlatformMinVersion 10.0.16299.0 and 10.0.10240 Platforms must be build separately. -->
<Target Name="BuildProjects" DependsOnTargets="BuildProjects10240" />


<!-- Since ARM64 requires a TargetPlatformMinVersion of at least 10.0.16299.0,
its NuGet restore and subsequent build need to run separately from the other
(10240) platforms.

In order to minimize refactoring of the existing build, this is done just after
the existing Platform targets build. This is done by adding !='ARM64' Conditions
to RestoreNuGetPackages and BuildProjects, duplicating them with =='ARM64'
Conditions, then stitching them into the target graph just after BuildProjects.
-->
<Target Name="BuildProjectsPrelim" DependsOnTargets="PrepareVersionInfo; ChooseProjectsToBuild; ChooseConfigurationsToRestore" />
<!-- Duplicate BuildProjects for just ARM64 -->
<Target Name="BuildProjects16299"
DependsOnTargets="BuildProjectsPrelim; RestoreNuGetPackages16299"
Inputs="@(ProjectsToBuild)"
Outputs="%(PlatformIndependentName)">

<Message Text="Building TargetPlatformMinVersion 16299 variants of project %(ProjectsToBuild.PlatformIndependentName):"
Importance="High" />
<Message Text=" %(ProjectsToBuild.Filename) (%(ProjectsToBuild.Configuration)|%(ProjectsToBuild.Platform))"
Importance="High"
Condition="'%(ProjectsToBuild.Platform)'=='ARM64'" />

<MSBuild Projects="@(ProjectsToBuild)"
BuildInParallel="%(ProjectsToBuild.BuildInParallel)"
Properties="IncludeVersionInfo=true"
Condition="'%(ProjectsToBuild.Platform)'=='ARM64'" />
</Target>


<!-- Use batching to build each project in turn -->
<Target Name="BuildProjects10240"
DependsOnTargets="BuildProjectsPrelim; BuildProjects16299; RestoreNuGetPackages10240"
<Target Name="BuildProjects"
DependsOnTargets="BuildProjectsPrelim; RestoreNuGetPackages"
Inputs="@(ProjectsToBuild)"
Outputs="%(PlatformIndependentName)">

<Message Importance="High" Text="Building TargetPlatformMinVersion 10240 variants of project %(ProjectsToBuild.PlatformIndependentName):" />
<Message Importance="High" Text=" %(ProjectsToBuild.Filename) (%(ProjectsToBuild.Configuration)|%(ProjectsToBuild.Platform))" Condition="'%(ProjectsToBuild.Platform)'!='ARM64'" />
<Message Importance="High" Text="Building all variants of project %(ProjectsToBuild.PlatformIndependentName):" />
<Message Importance="High" Text=" %(ProjectsToBuild.Filename) (%(ProjectsToBuild.Configuration)|%(ProjectsToBuild.Platform))" />

<!-- All the variants (platform and configuration) of most projects can be built in parallel -->
<MSBuild Projects="@(ProjectsToBuild)"
BuildInParallel="%(ProjectsToBuild.BuildInParallel)"
Properties="IncludeVersionInfo=true"
Condition="'%(ProjectsToBuild.Platform)'!='ARM64'" />
Properties="IncludeVersionInfo=true" />
</Target>


Expand Down Expand Up @@ -268,11 +235,8 @@

<PropertyGroup>
<_VsTestPathUnderCommonTools>..\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe</_VsTestPathUnderCommonTools>
<_VsTest Condition="Exists('$(VS120COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS120COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<_VsTest Condition="Exists('$(VS140COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS140COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<_VsTest Condition="Exists('$(VS150COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS150COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<_VsTest Condition="Exists('$(VS160COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS160COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<_VsTest Condition="Exists('$(VS170COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS170COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<_VsTest Condition="Exists('$(VS180COMNTOOLS)$(_VsTestPathUnderCommonTools)')">$(VS180COMNTOOLS)$(_VsTestPathUnderCommonTools)</_VsTest>
<VsTest Condition="'$(_VsTest)' != ''">"$([System.IO.Path]::GetFullPath('$(_VsTest)'))"</VsTest>
</PropertyGroup>

Expand All @@ -296,7 +260,7 @@

<Target Name="ChooseTestsToRun">
<ItemGroup>
<TestProjects Include="@(ProjectsToBuild)" Condition="%(ProjectsToBuild.AutomatedTests) != '' and %(ProjectsToBuild.Platform) != ARM and %(ProjectsToBuild.Platform) != ARM64">
<TestProjects Include="@(ProjectsToBuild)" Condition="%(ProjectsToBuild.AutomatedTests) != '' and %(ProjectsToBuild.Platform) != ARM64">
<!-- Remap Win32 to x86 -->
<TestPlatform Condition="%(ProjectsToBuild.Platform) == Win32">x86</TestPlatform>
<TestPlatform Condition="%(ProjectsToBuild.Platform) != Win32">%(ProjectsToBuild.Platform)</TestPlatform>
Expand Down Expand Up @@ -332,7 +296,7 @@
<Configuration>%(BuildConfiguration.Identity)</Configuration>
</ConfigToRestore>

<NuGetRestore Include="@(ConfigToRestore)" Condition="%(BuildPlatform.Identity) != AnyCPU">
<NuGetRestore Include="@(ConfigToRestore)">
<Platform>%(BuildPlatform.Identity)</Platform>
</NuGetRestore>

Expand Down
Loading