mirror of
https://github.com/microsoft/microsoft-ui-xaml.git
synced 2026-10-28 16:35:19 +08:00
Syncing content from committish 6ba3316bb99518880a26984a70acac4ca04614bf
65 lines
5.0 KiB
XML
65 lines
5.0 KiB
XML
<?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>
|