59 строки
3.4 KiB
XML
59 строки
3.4 KiB
XML
<!--
|
|
***********************************************************************************************
|
|
Xamarin.iOS.AppExtension.CSharp.targets
|
|
|
|
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
|
|
created a backup copy. Incorrect changes to this file will make it
|
|
impossible to load or build your projects from the command-line or the IDE.
|
|
|
|
This file imports the version- and platform-specific targets for the project importing
|
|
this file. This file also defines targets to produce an error if the specified targets
|
|
file does not exist, but the project is built anyway (command-line or IDE build).
|
|
|
|
Copyright (C) 2014-2016 Xamarin. All rights reserved.
|
|
***********************************************************************************************
|
|
-->
|
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets"
|
|
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/>
|
|
|
|
<PropertyGroup>
|
|
<!-- Version/fx properties -->
|
|
<TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">Xamarin.iOS</TargetFrameworkIdentifier>
|
|
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v1.0</TargetFrameworkVersion>
|
|
|
|
<!-- This must be set before importing Microsoft.CSharp.targets -->
|
|
<!--
|
|
In Xamarin.iOS.Common.targets, just before the _CompileToNative target, we modify the
|
|
mtouch references to ensure that we get the lib assemblies for nugets, and not the ref references:
|
|
|
|
https://github.com/xamarin/xamarin-macios/blob/9e31d07ecc08a64372dd562e843c3d8950d24985/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets#L784-L791
|
|
|
|
This logic removes nuget references, and then re-adds any copy-local dll references.
|
|
|
|
This works fine in executable projects, but not in library projects (aka extensions), because nugets aren't copied for library projects:
|
|
|
|
https://github.com/NuGet/NuGet.BuildTasks/blob/cf4b0a12cf1f75e0654f28c2a9020251c41d126a/src/Microsoft.NuGet.Build.Tasks/Microsoft.NuGet.targets#L86
|
|
|
|
So we need to set the CopyNuGetImplementations variable to 'true' for our library projects.
|
|
-->
|
|
<CopyNuGetImplementations Condition="'$(CopyNuGetImplementations)' == ''">true</CopyNuGetImplementations>
|
|
|
|
<_IsUnifiedDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)__UNIFIED__($|;)'))</_IsUnifiedDefined>
|
|
<_IsMobileDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)__MOBILE__($|;)'))</_IsMobileDefined>
|
|
<_IsIOSDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)__IOS__($|;)'))</_IsIOSDefined>
|
|
|
|
<DefineConstants Condition="!$(_IsUnifiedDefined)">__UNIFIED__;$(DefineConstants)</DefineConstants>
|
|
<DefineConstants Condition="!$(_IsMobileDefined)">__MOBILE__;$(DefineConstants)</DefineConstants>
|
|
<DefineConstants Condition="!$(_IsIOSDefined)">__IOS__;$(DefineConstants)</DefineConstants>
|
|
|
|
<!-- Enable nuget package conflict resolution -->
|
|
<ResolveAssemblyConflicts>true</ResolveAssemblyConflicts>
|
|
</PropertyGroup>
|
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
|
<Import Project="Xamarin.iOS.AppExtension.Common.targets" />
|
|
|
|
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets"
|
|
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets')"/>
|
|
</Project>
|