mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
70 lines
3.5 KiB
XML
70 lines
3.5 KiB
XML
<Project>
|
|
<Sdk Name="Microsoft.Build.CopyOnWrite" Version="1.0.282" />
|
|
|
|
<Import Project="$(MSBuildCachePackageRoot)\build\$(MSBuildCachePackageName).targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
|
<Import Project="$(MSBuildCacheSharedCompilationPackageRoot)\build\Microsoft.MSBuildCache.SharedCompilation.targets" Condition="'$(MSBuildCacheEnabled)' == 'true'" />
|
|
|
|
<!-- Override ManifestTool to the x64 host tool under WindowsSdkDir for all projects once the SDK path is known. -->
|
|
<PropertyGroup Label="ManifestToolOverride">
|
|
<ManifestTool Condition="Exists('$(WindowsSdkDir)bin\x64\mt.exe')">$(WindowsSdkDir)bin\x64\mt.exe</ManifestTool>
|
|
</PropertyGroup>
|
|
|
|
<!-- Auto-restore NuGet for native vcxproj (PackageReference) when building inside VS -->
|
|
<Target Name="EnsureNuGetRestoreForVcxproj" BeforeTargets="PrepareForBuild" Condition="
|
|
'$(BuildingInsideVisualStudio)' == 'true'
|
|
and '$(DesignTimeBuild)' != 'true'
|
|
and '$(RestoreInProgress)' != 'true'
|
|
and '$(MSBuildProjectExtension)' == '.vcxproj'
|
|
and '$(RestoreProjectStyle)' == 'PackageReference'
|
|
and '$(MSBuildProjectExtensionsPath)' != ''
|
|
and !Exists('$(MSBuildProjectExtensionsPath)project.assets.json')
|
|
">
|
|
|
|
<Message Importance="normal" Text="NuGet assets missing for $(MSBuildProjectName); running Restore...; IntDir=$(IntDir); BaseIntermediateOutputPath=$(BaseIntermediateOutputPath)" />
|
|
|
|
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Restore" Properties="RestoreInProgress=true" BuildInParallel="false" />
|
|
</Target>
|
|
|
|
<PropertyGroup Condition="'$(IgnoreExperimentalWarnings)' == 'true'">
|
|
<NoWarn>$(NoWarn);CS8305;SA1500;CA1852</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<!-- Skipped test projects when BuildTests=false: no-op build and remove references.
|
|
This must be in targets (not props) so it runs AFTER the project file adds its items. -->
|
|
<PropertyGroup Condition="'$(_IsSkippedTestProject)' == 'true'">
|
|
<BuildDependsOn />
|
|
<CoreBuildDependsOn />
|
|
<RebuildDependsOn />
|
|
</PropertyGroup>
|
|
|
|
<!-- For C# projects: remove all items -->
|
|
<ItemGroup Condition="'$(_IsSkippedTestProject)' == 'true' and '$(MSBuildProjectExtension)' == '.csproj'">
|
|
<PackageReference Remove="@(PackageReference)" />
|
|
<ProjectReference Remove="@(ProjectReference)" />
|
|
<Reference Remove="@(Reference)" />
|
|
<Compile Remove="@(Compile)" />
|
|
<Content Remove="@(Content)" />
|
|
<EmbeddedResource Remove="@(EmbeddedResource)" />
|
|
<None Remove="@(None)" />
|
|
<Using Remove="@(Using)" />
|
|
<GlobalUsing Remove="@(GlobalUsing)" />
|
|
</ItemGroup>
|
|
|
|
<!-- For C++ projects (vcxproj): remove all compile/link items to prevent build -->
|
|
<ItemGroup Condition="'$(_IsSkippedTestProject)' == 'true' and '$(MSBuildProjectExtension)' == '.vcxproj'">
|
|
<ClCompile Remove="@(ClCompile)" />
|
|
<ClInclude Remove="@(ClInclude)" />
|
|
<Link Remove="@(Link)" />
|
|
<Lib Remove="@(Lib)" />
|
|
<ProjectReference Remove="@(ProjectReference)" />
|
|
<None Remove="@(None)" />
|
|
<ResourceCompile Remove="@(ResourceCompile)" />
|
|
<Midl Remove="@(Midl)" />
|
|
</ItemGroup>
|
|
|
|
<!-- For C++ skipped test projects: override targets to no-op -->
|
|
<Target Name="Build" Condition="'$(_IsSkippedTestProject)' == 'true' and '$(MSBuildProjectExtension)' == '.vcxproj'" />
|
|
<Target Name="Rebuild" Condition="'$(_IsSkippedTestProject)' == 'true' and '$(MSBuildProjectExtension)' == '.vcxproj'" />
|
|
<Target Name="Clean" Condition="'$(_IsSkippedTestProject)' == 'true' and '$(MSBuildProjectExtension)' == '.vcxproj'" />
|
|
</Project>
|