Using a binding project with macOS

This commit is contained in:
Matthew Leibowitz 2017-05-02 08:00:43 -04:00
Родитель b23e3373a7
Коммит 32964b1b94
17 изменённых файлов: 40 добавлений и 44 удалений

Просмотреть файл

@ -0,0 +1 @@


Просмотреть файл

@ -4,7 +4,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{30952C22-D566-488F-9D7A-2411B027D6CA}</ProjectGuid>
<ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectTypeGuids>{810C163F-4746-4721-8B8E-88A3673A62EA};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>HarfBuzzSharp</RootNamespace>
<AssemblyName>HarfBuzzSharp</AssemblyName>
@ -55,15 +55,23 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\XamarinMac\HarfBuzzSharp.OSX.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib">
<Link>nuget\runtimes\osx\native\libHarfBuzzSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib">
<Link>libHarfBuzzSharp.dylib</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>
<ItemGroup>
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
</ItemGroup>
<ItemGroup>
<ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>
<Import Project="..\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems" Label="Shared" Condition="Exists('..\HarfBuzzSharp.Shared\HarfBuzzSharp.Shared.projitems')" />
<Import Project="..\Binding.Shared\Binding.Shared.projitems" Label="Shared" Condition="Exists('..\Binding.Shared\Binding.Shared.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.ObjcBinding.CSharp.targets" />
</Project>

Просмотреть файл

@ -1 +1,5 @@

using Foundation;
using ObjCRuntime;
[assembly: LinkerSafe]
[assembly: LinkWith("libHarfBuzzSharp.dylib", IsCxx = true, ForceLoad = true, SmartLink = true)]

Просмотреть файл

@ -0,0 +1 @@


Просмотреть файл

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\osx\native\libHarfBuzzSharp.dylib">
<IsCxx>False</IsCxx>
<Kind>Dynamic</Kind>
</NativeReference>
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1 @@


Просмотреть файл

@ -1 +1,5 @@

using Foundation;
using ObjCRuntime;
[assembly: LinkerSafe]
[assembly: LinkWith("libSkiaSharp.dylib", IsCxx = true, ForceLoad = true, SmartLink = true)]

Просмотреть файл

@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectTypeGuids>{810C163F-4746-4721-8B8E-88A3673A62EA};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{4588A759-3853-49B8-8A68-6C7917BE9220}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>SkiaSharp</RootNamespace>
@ -58,17 +58,25 @@
</ItemGroup>
<Import Project="..\Binding\Binding.projitems" Label="Shared" Condition="Exists('..\Binding\Binding.projitems')" />
<Import Project="..\Binding.Shared\Binding.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.ObjcBinding.CSharp.targets" />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\XamarinMac\SkiaSharp.OSX.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\libSkiaSharp.dylib">
<Link>nuget\runtimes\osx\native\libSkiaSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\osx\libSkiaSharp.dylib">
<Link>libSkiaSharp.dylib</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>
<ItemGroup>
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
</ItemGroup>
<ItemGroup>
<ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1 @@


Просмотреть файл

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\osx\native\libSkiaSharp.dylib">
<IsCxx>False</IsCxx>
<Kind>Dynamic</Kind>
</NativeReference>
</ItemGroup>
</Project>

Просмотреть файл

@ -167,7 +167,6 @@ Task ("libs")
CopyFileToDirectory ("./binding/SkiaSharp.iOS/bin/Release/SkiaSharp.dll", "./output/ios/");
CopyFileToDirectory ("./binding/SkiaSharp.tvOS/bin/Release/SkiaSharp.dll", "./output/tvos/");
CopyFileToDirectory ("./binding/SkiaSharp.OSX/bin/Release/SkiaSharp.dll", "./output/osx/");
CopyFileToDirectory ("./binding/SkiaSharp.OSX/bin/Release/nuget/build/XamarinMac/SkiaSharp.OSX.targets", "./output/osx/");
CopyFileToDirectory ("./binding/SkiaSharp.Portable/bin/Release/SkiaSharp.dll", "./output/portable/");
CopyFileToDirectory ("./binding/SkiaSharp.Desktop/bin/Release/SkiaSharp.dll", "./output/mac/");
CopyFileToDirectory ("./binding/SkiaSharp.Desktop/bin/Release/nuget/build/net45/SkiaSharp.Desktop.targets", "./output/mac/");
@ -185,7 +184,6 @@ Task ("libs")
CopyFileToDirectory ("./binding/HarfBuzzSharp.iOS/bin/Release/HarfBuzzSharp.dll", "./output/ios/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.tvOS/bin/Release/HarfBuzzSharp.dll", "./output/tvos/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.OSX/bin/Release/HarfBuzzSharp.dll", "./output/osx/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.OSX/bin/Release/nuget/build/XamarinMac/HarfBuzzSharp.OSX.targets", "./output/osx/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.Portable/bin/Release/HarfBuzzSharp.dll", "./output/portable/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.Desktop/bin/Release/HarfBuzzSharp.dll", "./output/mac/");
CopyFileToDirectory ("./binding/HarfBuzzSharp.Desktop/bin/Release/nuget/build/net45/HarfBuzzSharp.dll.config", "./output/mac/");

Просмотреть файл

@ -32,7 +32,6 @@
<file src="output/portable/HarfBuzzSharp.dll" target="lib/portable-net45+win8+wpa81+wp8" />
<!--<file src="output/docs/msxml/HarfBuzzSharp.xml" target="lib/portable-net45+win8+wpa81+wp8" />-->
<!-- the build bits -->
<file src="output/osx/HarfBuzzSharp.OSX.targets" target="build/XamarinMac/HarfBuzzSharp.targets" />
<file src="output/mac/HarfBuzzSharp.Desktop.targets" target="build/net45/HarfBuzzSharp.targets" />
<file src="output/mac/HarfBuzzSharp.dll.config" target="build/net45/HarfBuzzSharp.dll.config" />
<!-- .NET Core -->

Просмотреть файл

@ -34,7 +34,6 @@
<file src="output/portable/HarfBuzzSharp.dll" target="lib/portable-net45+win8+wpa81+wp8" />
<!--<file src="output/docs/msxml/HarfBuzzSharp.xml" target="lib/portable-net45+win8+wpa81+wp8" />-->
<!-- the build bits -->
<file src="output/osx/HarfBuzzSharp.OSX.targets" target="build/XamarinMac/HarfBuzzSharp.targets" />
<file src="output/mac/HarfBuzzSharp.Desktop.targets" target="build/net45/HarfBuzzSharp.targets" />
<file src="output/mac/HarfBuzzSharp.dll.config" target="build/net45/HarfBuzzSharp.dll.config" />
<!-- .NET Core -->

Просмотреть файл

@ -32,7 +32,6 @@
<file src="output/portable/SkiaSharp.dll" target="lib/portable-net45+win8+wpa81+wp8" />
<file src="output/docs/msxml/SkiaSharp.xml" target="lib/portable-net45+win8+wpa81+wp8" />
<!-- the build bits -->
<file src="output/osx/SkiaSharp.OSX.targets" target="build/XamarinMac/SkiaSharp.targets" />
<file src="output/mac/SkiaSharp.Desktop.targets" target="build/net45/SkiaSharp.targets" />
<file src="output/mac/SkiaSharp.dll.config" target="build/net45/SkiaSharp.dll.config" />
<!-- .NET Core -->

Просмотреть файл

@ -34,7 +34,6 @@
<file src="output/portable/SkiaSharp.dll" target="lib/portable-net45+win8+wpa81+wp8" />
<file src="output/docs/msxml/SkiaSharp.xml" target="lib/portable-net45+win8+wpa81+wp8" />
<!-- the build bits -->
<file src="output/osx/SkiaSharp.OSX.targets" target="build/XamarinMac/SkiaSharp.targets" />
<file src="output/mac/SkiaSharp.Desktop.targets" target="build/net45/SkiaSharp.targets" />
<file src="output/mac/SkiaSharp.dll.config" target="build/net45/SkiaSharp.dll.config" />
<!-- .NET Core -->

Просмотреть файл

@ -133,6 +133,4 @@
<Import Project="..\..\SkiaSharpSample.Platform.Shared\SkiaSharpSample.Platform.Shared.projitems" Label="Shared" Condition="Exists('..\..\SkiaSharpSample.Platform.Shared\SkiaSharpSample.Platform.Shared.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
<Import Project="..\packages\Xamarin.Forms.2.3.5.233-pre1\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.5.233-pre1\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
<Import Project="..\packages\SkiaSharp.1.57.1\build\XamarinMac\SkiaSharp.targets" Condition="Exists('..\packages\SkiaSharp.1.57.1\build\XamarinMac\SkiaSharp.targets')" />
<Import Project="..\packages\HarfBuzzSharp.1.4.5\build\XamarinMac\HarfBuzzSharp.targets" Condition="Exists('..\packages\HarfBuzzSharp.1.4.5\build\XamarinMac\HarfBuzzSharp.targets')" />
</Project>

Просмотреть файл

@ -105,6 +105,4 @@
<Import Project="..\..\SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems" Label="Shared" Condition="Exists('..\..\SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems')" />
<Import Project="..\..\SkiaSharpSample.Platform.Shared\SkiaSharpSample.Platform.Shared.projitems" Label="Shared" Condition="Exists('..\..\SkiaSharpSample.Platform.Shared\SkiaSharpSample.Platform.Shared.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
<Import Project="..\packages\SkiaSharp.1.57.1\build\XamarinMac\SkiaSharp.targets" Condition="Exists('..\packages\SkiaSharp.1.57.1\build\XamarinMac\SkiaSharp.targets')" />
<Import Project="..\packages\HarfBuzzSharp.1.4.5\build\XamarinMac\HarfBuzzSharp.targets" Condition="Exists('..\packages\HarfBuzzSharp.1.4.5\build\XamarinMac\HarfBuzzSharp.targets')" />
</Project>