-
Notifications
You must be signed in to change notification settings - Fork 854
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
64 lines (61 loc) · 4.98 KB
/
Copy pathDirectory.Build.props
File metadata and controls
64 lines (61 loc) · 4.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft Corporation. Licensed under the MIT License. See LICENSE in the project root for license information. -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IsInWinUIRepo>true</IsInWinUIRepo>
<!-- Prevent the C++/WinRT NuGet package from injecting the deprecated /await switch;
injecting /await causes C++/WinRT to pull in the hard-deprecated (as of MSVC 14.51)
<experimental/coroutine> header.
We add /await:strict in Directory.Build.targets instead; /await:strict enables standard
C++20 coroutine support even when compiling in C++17 mode. -->
<CppWinRTEnableLegacyCoroutines>false</CppWinRTEnableLegacyCoroutines>
<!-- Locations for props/targets that can be included to directly consume binaries from the build -->
<ConsumeBinariesProps>$(MSBuildThisFileDirectory)eng\consumebinaries.props</ConsumeBinariesProps>
<ConsumeBinariesTargets>$(MSBuildThisFileDirectory)eng\consumebinaries.targets</ConsumeBinariesTargets>
<ProjectRoot>$(MSBuildThisFileDirectory)</ProjectRoot>
<NugetPackageDirectory>$(ProjectRoot)packages</NugetPackageDirectory>
<!-- If testing local changes to WinUI details, then set this property to point to your local WinUI details repo -->
<WinUIDetailsRepoLocation></WinUIDetailsRepoLocation>
<WindowsSDKBuildToolsArchFolder Condition="'$(WindowsSDKBuildToolsArchFolder)' == '' And '$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture)'== 'X64'">x64</WindowsSDKBuildToolsArchFolder>
<WindowsSDKBuildToolsArchFolder Condition="'$(WindowsSDKBuildToolsArchFolder)' == ''">x86</WindowsSDKBuildToolsArchFolder>
<!-- WinAppSDK checks to ensure that customers always have the right version of the C#/WinRT runtime required by all our projection assemblies.
(see https://dev.azure.com/microsoft/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/NuSpecs/build/Microsoft.WindowsAppSDK.targets)
There's often a lag in that becoming publicly available (via the .NET SDK), and for WinUI we're nearly always ahead of that.
So we opt out of the check and explicitly reference the latest Microsoft.Windows.Sdk.Net.Ref if necessary. -->
<WindowsAppSDKVerifyWinrtRuntimeVersion>false</WindowsAppSDKVerifyWinrtRuntimeVersion>
<!-- The sln files in this repo are not always "complete", but we still want to ensure Configuration/Platform are inherited correctly, in particular for graph builds. -->
<ShouldUnsetParentConfigurationAndPlatform>false</ShouldUnsetParentConfigurationAndPlatform>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<!-- Import LKG VC Toolset, if enabled (LkgVcTools* env vars set)-->
<Import Project="$(NugetPackageDirectory)\$(LkgVcToolsName)\$(LkgVcToolsVersion)\build\native\$(LkgVcToolsName).props"
Condition="'$(MSBuildProjectExtension)' == '.vcxproj' and '$(LkgVcToolsName)$(LkgVcToolsVersion)' != '' and
Exists('$(NugetPackageDirectory)\$(LkgVcToolsName)\$(LkgVcToolsVersion)\build\native\$(LkgVcToolsName).props')" />
<Target Name="LkgEnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"
Condition="'$(MSBuildProjectExtension)' == '.vcxproj' and '$(LkgVcToolsName)$(LkgVcToolsVersion)' != ''">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(NugetPackageDirectory)\$(LkgVcToolsName)\$(LkgVcToolsVersion)\build\native\$(LkgVcToolsName).props')"
Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\$(LkgVcToolsName)\$(LkgVcToolsVersion)\build\native\$(LkgVcToolsName).props'))" />
</Target>
<!--
Every project in this repository should include the root Directory.Build.props file. This allows us to create a
single place where we can share common build infrastructure, without creating MSBuild duplicate import errors.
The files that this props file imports should be self-contained and not import other project files.
-->
<Import Project="eng\common.props" />
<Import Project="eng\configuration.props" />
<Import Project="eng\versions.props" />
<Import Project="eng\sdkconfig.props" Condition = "'$(UseLocalSDK)' != 'true'" />
<Import Project="eng\folderpaths.props" />
<Import Project="eng\tempfolder.props"/>
<Import Project="eng\midl.props" Condition="'$(IsWinmdProject)' == 'true'" />
<Import Project="eng\productmetadata.props" />
<Import Project="eng\packaging.props" />
<Import Project="eng\usexamlcompiler.props" Condition="'$(UseXamlCompiler)'=='true'" />
<Import Project="eng\testprojects.props" Condition="'$(TestCode)'=='true'" />
<Import Project="eng\muxfinalrelease.props" />
<Import Project="eng\adhocapp.props" Condition="'$(AdHocApp)'=='true'" />
<Import Project="eng\projectcaching.props" />
</Project>