178 строки
8.0 KiB
XML
178 строки
8.0 KiB
XML
<!--
|
|
***********************************************************************************************
|
|
Xamarin.iOS.ObjcBinding.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) 2013-2016 Xamarin Inc. All rights reserved.
|
|
***********************************************************************************************
|
|
-->
|
|
|
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<UsingTask TaskName="Xamarin.iOS.Tasks.PrepareNativeReferences" AssemblyFile="Xamarin.iOS.Tasks.dll" />
|
|
<UsingTask TaskName="Xamarin.iOS.Tasks.BTouch" AssemblyFile="Xamarin.iOS.Tasks.dll" />
|
|
<UsingTask TaskName="Xamarin.iOS.Tasks.CreateBindingResourcePackage" AssemblyFile="Xamarin.iOS.Tasks.dll" />
|
|
<UsingTask TaskName="Xamarin.MacDev.Tasks.Zip" AssemblyFile="Xamarin.iOS.Tasks.dll" />
|
|
|
|
<UsingTask TaskName="Microsoft.Build.Tasks.Delete" AssemblyFile="Xamarin.iOS.Tasks.dll"/>
|
|
|
|
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets"
|
|
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/>
|
|
|
|
<Import Project="Xamarin.iOS.ObjCBinding.CSharp.props"/>
|
|
|
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
|
<Import Project="Xamarin.iOS.ObjCBinding.Common.targets" />
|
|
<Import Project="Xamarin.Shared.targets"/>
|
|
|
|
<PropertyGroup>
|
|
<_GeneratedSourcesFileList>$(GeneratedSourcesDir)sources.list</_GeneratedSourcesFileList>
|
|
|
|
<XamarinDefineConstants Condition="'$(XamarinDefineConstants)' == ''">__UNIFIED__;__MOBILE__;__IOS__</XamarinDefineConstants>
|
|
<DefineConstants>$(XamarinDefineConstants);$(DefineConstants)</DefineConstants>
|
|
|
|
<!-- Add our own pre and post build steps -->
|
|
<CompileDependsOn>
|
|
_GenerateBindings;
|
|
_PrepareNativeReferences;
|
|
_CollectGeneratedSources;
|
|
$(CompileDependsOn)
|
|
_CreateBindingResourcePackage;
|
|
</CompileDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<!-- Override the CoreCompile Target to use btouch -->
|
|
<Target Name="_GenerateBindings"
|
|
Inputs="$(MSBuildAllProjects);@(ObjcBindingApiDefinition);@(ObjcBindingCoreSource);@(ReferencePath);@(ObjcBindingNativeLibrary)"
|
|
Outputs="$(_GeneratedSourcesFileList)"
|
|
Condition="'$(DesignTimeBuild)' != 'true'">
|
|
|
|
<PropertyGroup>
|
|
<BTouchEmitDebugInformation>false</BTouchEmitDebugInformation>
|
|
<BTouchEmitDebugInformation Condition="'$(Debug)' != ''">true</BTouchEmitDebugInformation>
|
|
</PropertyGroup>
|
|
|
|
<Message Text="BTouchEmitDebugInformation: $(BTouchEmitDebugInformation)"/>
|
|
|
|
<BTouch
|
|
SessionId="$(BuildSessionId)"
|
|
OutputPath="$(OutputPath)"
|
|
ObjectiveCLibraries="@(ObjcBindingNativeLibrary)"
|
|
AdditionalLibPaths="$(AdditionalLibPaths)"
|
|
AllowUnsafeBlocks="$(AllowUnsafeBlocks)"
|
|
ApiDefinitions="@(ObjcBindingApiDefinition)"
|
|
BaseLibDll="$(BaseLibDllPath)"
|
|
CoreSources="@(ObjcBindingCoreSource)"
|
|
DefineConstants="$(DefineConstants)"
|
|
EmitDebugInformation="$(BTouchEmitDebugInformation)"
|
|
ExtraArgs="$(BTouchExtraArgs)"
|
|
GeneratedSourcesDir="$(GeneratedSourcesDir)"
|
|
GeneratedSourcesFileList="$(_GeneratedSourcesFileList)"
|
|
Namespace="$(Namespace)"
|
|
OutputAssembly="$(OutputAssembly)"
|
|
ProcessEnums="$(ProcessEnums)"
|
|
ProjectDir="$(MSBuildProjectDirectory)"
|
|
References="@(ReferencePath)"
|
|
TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)"
|
|
BTouchToolPath="$(BTouchToolPath)"
|
|
BTouchToolExe="$(BTouchToolExe)"
|
|
StandardOutputImportance="High"
|
|
>
|
|
</BTouch>
|
|
</Target>
|
|
|
|
<Target Name="_PrepareNativeReferences" Condition="'$(DesignTimeBuild)' != 'true'">
|
|
<PrepareNativeReferences
|
|
SessionId="$(BuildSessionId)"
|
|
IntermediateOutputPath="$(IntermediateOutputPath)"
|
|
NativeReferences="@(NativeReference)">
|
|
<Output ItemName="ManifestResourceWithNoCulture" TaskParameter="EmbeddedResources" Condition="'$(NoBindingEmbedding)' != 'true'"/>
|
|
<Output ItemName="_NativeFramework" TaskParameter="NativeFrameworks" Condition="'$(NoBindingEmbedding)' != 'true'"/>
|
|
<Output ItemName="Compile" TaskParameter="LinkWithAttributes" />
|
|
</PrepareNativeReferences>
|
|
</Target>
|
|
|
|
<Target Name="_CollectNativeFrameworkResources" Returns="@(_NativeFrameworkResource)" DependsOnTargets="_PrepareNativeReferences">
|
|
<CreateItem Include="@(_NativeFramework -> '%(Identity)\**\*.*')">
|
|
<Output ItemName="_NativeFrameworkResource" TaskParameter="Include" />
|
|
</CreateItem>
|
|
</Target>
|
|
|
|
<Target Name="_CompressNativeFrameworkResources" Inputs="@(_NativeFrameworkResource)" Outputs="$(IntermediateOutputPath)%(_NativeFramework.Filename)%(_NativeFramework.Extension)" DependsOnTargets="_CollectNativeFrameworkResources">
|
|
<Delete SessionId="$(BuildSessionId)" Condition="'$(IsMacEnabled)' == 'true'" Files="$(IntermediateOutputPath)%(_NativeFramework.Filename)%(_NativeFramework.Extension)" />
|
|
|
|
<Zip
|
|
SessionId="$(BuildSessionId)"
|
|
Condition="'$(IsMacEnabled)' == 'true'"
|
|
ToolExe="$(ZipExe)"
|
|
ToolPath="$(ZipPath)"
|
|
Recursive="true"
|
|
Symlinks="true"
|
|
Sources="%(_NativeFramework.Identity)"
|
|
OutputFile="$(IntermediateOutputPath)%(_NativeFramework.Filename)%(_NativeFramework.Extension)"
|
|
WorkingDirectory="%(_NativeFramework.Identity)" >
|
|
</Zip>
|
|
|
|
<CreateItem Include="$(IntermediateOutputPath)%(_NativeFramework.Filename)%(_NativeFramework.Extension)">
|
|
<Output TaskParameter="Include" ItemName="ManifestResourceWithNoCulture" />
|
|
</CreateItem>
|
|
</Target>
|
|
|
|
<!-- OBSOLETE -->
|
|
<Target Name="_CollectObjCBindingNativeFrameworkResources" Returns="@(_ObjCBindingNativeFrameworkResource)">
|
|
<CreateItem Include="@(ObjCBindingNativeFramework -> '%(Identity)\**\*.*')">
|
|
<Output ItemName="_ObjCBindingNativeFrameworkResource" TaskParameter="Include" />
|
|
</CreateItem>
|
|
</Target>
|
|
|
|
<Target Name="_CompressObjCBindingNativeFrameworkResources" Inputs="@(_ObjCBindingNativeFrameworkResource)" Outputs="$(IntermediateOutputPath)%(ObjCBindingNativeFramework.Filename)%(ObjCBindingNativeFramework.Extension)" DependsOnTargets="_CollectObjCBindingNativeFrameworkResources">
|
|
<Delete SessionId="$(BuildSessionId)" Condition="'$(IsMacEnabled)' == 'true'" Files="$(IntermediateOutputPath)%(ObjCBindingNativeFramework.Filename)%(ObjCBindingNativeFramework.Extension)" />
|
|
|
|
<Zip
|
|
SessionId="$(BuildSessionId)"
|
|
Condition="'$(IsMacEnabled)' == 'true'"
|
|
ToolExe="$(ZipExe)"
|
|
ToolPath="$(ZipPath)"
|
|
Recursive="true"
|
|
Symlinks="true"
|
|
Sources="%(ObjCBindingNativeFramework.Identity)"
|
|
OutputFile="$(IntermediateOutputPath)%(ObjCBindingNativeFramework.Filename)%(ObjCBindingNativeFramework.Extension)"
|
|
WorkingDirectory="%(ObjCBindingNativeFramework.Identity)" >
|
|
</Zip>
|
|
|
|
<CreateItem Include="$(IntermediateOutputPath)%(ObjCBindingNativeFramework.Filename)%(ObjCBindingNativeFramework.Extension)">
|
|
<Output TaskParameter="Include" ItemName="ManifestResourceWithNoCulture" />
|
|
</CreateItem>
|
|
</Target>
|
|
<!-- /OBSOLETE -->
|
|
|
|
<Target Name="_CollectGeneratedSources" DependsOnTargets="_GenerateBindings;_CompressNativeFrameworkResources;_CompressObjCBindingNativeFrameworkResources"
|
|
Condition="'$(DesignTimeBuild)' != 'true'">
|
|
|
|
<ReadLinesFromFile File="$(_GeneratedSourcesFileList)" >
|
|
<Output TaskParameter="Lines" ItemName="GeneratedSources" />
|
|
</ReadLinesFromFile>
|
|
|
|
<CreateItem Include="@(ObjcBindingCoreSource)">
|
|
<Output TaskParameter="Include" ItemName="Compile" />
|
|
</CreateItem>
|
|
|
|
<CreateItem Include="@(GeneratedSources)">
|
|
<Output TaskParameter="Include" ItemName="Compile" />
|
|
</CreateItem>
|
|
|
|
<CreateItem Include="@(ObjcBindingNativeLibrary)">
|
|
<Output TaskParameter="Include" ItemName="ManifestResourceWithNoCulture" />
|
|
</CreateItem>
|
|
</Target>
|
|
|
|
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets"
|
|
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).After.targets')"/>
|
|
</Project>
|