6bdd276d05
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
73 lines
4.1 KiB
XML
73 lines
4.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" InitialTargets="CheckForBuildTools" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<Target Name="CheckForBuildTools">
|
|
<Error Condition="!Exists('$(ToolsDir)') and '$(OverrideToolsDir)'=='true'"
|
|
Text="The tools directory [$(ToolsDir)] does not exist. Please run sync in your enlistment to ensure the tools are installed before attempting to build an individual project." />
|
|
<Error Condition="!Exists('$(ToolsDir)') and '$(OverrideToolsDir)'!='true'"
|
|
Text="The tools directory [$(ToolsDir)] does not exist. Please run init-tools.cmd in your enlistment to ensure the tools are installed before attempting to build an individual project." />
|
|
</Target>
|
|
|
|
<!-- Provide default targets which can be hooked onto or overridden as necessary -->
|
|
<Target Name="BuildAndTest" DependsOnTargets="Build;Test" />
|
|
<Target Name="RebuildAndTest" DependsOnTargets="Rebuild;Test" />
|
|
<Target Name="Test" />
|
|
|
|
<!-- build vertical requires the FindBestConfiguration task which is currently in CoreFx.Tools.dll -->
|
|
<Import Project="buildvertical.targets" Condition="Exists('$(CoreFxToolsTaskDir)CoreFx.Tools.dll')" />
|
|
|
|
<Target Name="UndefineTestTFM"
|
|
BeforeTargets="AssignProjectConfiguration">
|
|
<ItemGroup>
|
|
<!--
|
|
Always undefine TestTFM and FilterToTestTFM for all project reference as not needed for compilation and
|
|
avoid bin clash tool to fail
|
|
-->
|
|
<ProjectReference>
|
|
<UndefineProperties>%(ProjectReference.UndefineProperties);TestTFM;FilterToTestTFM</UndefineProperties>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Import Project="$(ToolsDir)/Build.Common.targets" Condition="Exists('$(ToolsDir)/Build.Common.targets')" />
|
|
|
|
<!-- permit a wrapping build system to contribute targets to this build -->
|
|
<Import Condition="Exists('$(MSBuildThisFileDirectory)..\open.targets')" Project="$(MSBuildThisFileDirectory)..\open.targets" />
|
|
|
|
<Import Project="$(MSBuildThisFileDirectory)binplace.targets" />
|
|
|
|
<PropertyGroup>
|
|
<!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip
|
|
the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). -->
|
|
<_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
|
|
<_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
|
|
<!-- We do not want to target a portable profile.
|
|
TODO: Make this the default in buildtools so this is not necessary. -->
|
|
<TargetFrameworkProfile></TargetFrameworkProfile>
|
|
<!-- We set this property to avoid MSBuild errors regarding not setting TargetFrameworkProfile (see above line) -->
|
|
<PortableNuGetMode>true</PortableNuGetMode>
|
|
<!-- tests should not set this. A value of netstandard* triggers validation which is irrelevant for tests. Remove once ValidatePackageTargetFramework target is removed -->
|
|
<PackageTargetFramework Condition="'$(IsTestProject)' == 'true'"></PackageTargetFramework>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="'$(NuGetTargetMoniker)'=='.NETStandard,Version=v1.7'">
|
|
<!-- Temporarily suppress the message until we get a nuget version that knows about the mapping between netstandard1.7 and uap10.1 -->
|
|
<SuppressPackageTargetFrameworkCompatibility Include="uap10.1" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="ProducesPackageId"
|
|
Returns="@(PackageIds)">
|
|
<ItemGroup>
|
|
<PackageIds Include="$(Id)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="ReportConfigurationErrorMessage"
|
|
BeforeTargets="AssignProjectConfiguration"
|
|
Condition="'$(BuildConfigurations)' != ''" >
|
|
<Message Importance="Low" Text="$(MSBuildProjectFullPath), C: $(Configuration) BC: $(BuildConfiguration) BCs: $(BuildConfigurations)" />
|
|
<Message Importance="High" Condition="'$(ConfigurationErrorMsg)' != ''" Text="$(MSBuildProjectFullPath) ConfigurationErrorMessage: $(ConfigurationErrorMsg)" />
|
|
</Target>
|
|
|
|
</Project>
|