- created a generic/agnostic desktop build for both Mac and Windows
    - using assembly configuration (dllmap windows dll to osx dylib)
    - the .targets file uses '$(OS)' to import/copy the right files
 - removed the double 'lib' prefix on osx
 - added the desktop build to the NuGet
 - using nunit 2 for XS compatibility
This commit is contained in:
Matthew Leibowitz 2016-02-02 19:38:48 +02:00
Родитель d2aa025de8
Коммит 7ee62ed139
26 изменённых файлов: 114 добавлений и 251 удалений

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

@ -41,11 +41,9 @@ namespace SkiaSharp
#elif __ANDROID__
const string SKIA = "libskia_android.so";
#elif XAMARIN_MAC
const string SKIA = "liblibskia_osx.dylib";
#elif WINDOWS_DESKTOP
const string SKIA = "libskia_windows.dll";
#elif MAC_DESKTOP
const string SKIA = "liblibskia_osx.dylib";
const string SKIA = "libskia_osx.dylib";
#elif DESKTOP
const string SKIA = "libskia_windows.dll"; // redirected using .dll.config to 'libskia_osx.dylib' on OS X
#else
const string SKIA = "path_to_native.library";
#endif

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

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SkiaSharp</RootNamespace>
<AssemblyName>SkiaSharp</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@ -18,7 +18,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\AnyCPU\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS_DESKTOP</DefineConstants>
<DefineConstants>TRACE;DEBUG;DESKTOP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
@ -28,7 +28,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\AnyCPU\Release\</OutputPath>
<DefineConstants>TRACE;WINDOWS_DESKTOP</DefineConstants>
<DefineConstants>TRACE;DESKTOP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
@ -37,17 +37,19 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS_DESKTOP</DefineConstants>
<DefineConstants>TRACE;DEBUG;DESKTOP</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;WINDOWS_DESKTOP</DefineConstants>
<DefineConstants>TRACE;DESKTOP</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
@ -55,17 +57,20 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS_DESKTOP</DefineConstants>
<DefineConstants>TRACE;DEBUG;DESKTOP</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
@ -77,6 +82,7 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -91,7 +97,7 @@
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition=" '$(OS)' != 'Unix' ">
<None Include="..\..\native-builds\lib\windows\x64\libskia_windows.lib">
<Link>x64\libskia_windows.lib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -116,7 +122,19 @@
<Link>x86\libskia_windows.pdb</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SkiaSharp.WindowsDesktop.targets">
</ItemGroup>
<ItemGroup Condition=" '$(OS)' == 'Unix' ">
<None Include="..\..\native-builds\lib\osx\libskia_osx.dylib">
<Link>mac\libskia_osx.dylib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="SkiaSharp.Desktop.targets">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="SkiaSharp.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>

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

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition=" '$(Platform)' == 'x86' ">
<ItemGroup Condition=" '$(Platform)' == 'x86' and '$(OS)' != 'Unix' ">
<None Include="$(MSBuildThisFileDirectory)x86\libskia_windows.dll">
<Link>libskia_windows.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -12,7 +12,7 @@
</None>
</ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'x64' ">
<ItemGroup Condition=" '$(Platform)' == 'x64' and '$(OS)' != 'Unix' ">
<None Include="$(MSBuildThisFileDirectory)x64\libskia_windows.dll">
<Link>libskia_windows.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -23,8 +23,15 @@
</None>
</ItemGroup>
<Target Condition=" '$(Platform)' != 'x64' and '$(Platform)' != 'x86' " Name="CheckSkiaPlatforms" BeforeTargets="Build">
<Error Text="The Platform needs to be either x64 or x86 to support Skia." />
<Target Condition=" '$(Platform)' != 'x64' and '$(Platform)' != 'x86' and '$(OS)' != 'Unix' " Name="CheckSkiaPlatforms" BeforeTargets="Build">
<Error Text="The Platform needs to be either x64 or x86 to support Skia in Windows." />
</Target>
<ItemGroup Condition=" '$(OS)' == 'Unix' ">
<None Include="$(MSBuildThisFileDirectory)mac\libskia_osx.dylib">
<Link>libskia_osx.dylib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

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

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<dllmap dll="libskia_windows.dll" target="libskia_osx.dylib" os="!windows" />
</configuration>

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

@ -11,7 +11,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.OSX", "SkiaSharp.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Portable", "SkiaSharp.Portable\SkiaSharp.Portable.csproj", "{7AA90628-2FDD-4585-AF2F-CC51CFA8B52A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.MacDesktop", "SkiaSharp.MacDesktop\SkiaSharp.MacDesktop.csproj", "{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Desktop", "SkiaSharp.Desktop\SkiaSharp.Desktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -35,9 +35,9 @@ Global
{C737DC80-5B71-4B26-A2DC-DA30421788B0}.Debug|x86.Build.0 = Debug|Any CPU
{C737DC80-5B71-4B26-A2DC-DA30421788B0}.Release|x86.ActiveCfg = Release|Any CPU
{C737DC80-5B71-4B26-A2DC-DA30421788B0}.Release|x86.Build.0 = Release|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Debug|x86.ActiveCfg = Debug|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Debug|x86.Build.0 = Debug|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Release|x86.ActiveCfg = Release|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Release|x86.Build.0 = Release|Any CPU
{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}.Debug|x86.ActiveCfg = Debug|Any CPU
{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}.Debug|x86.Build.0 = Debug|Any CPU
{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}.Release|x86.ActiveCfg = Release|Any CPU
{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

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

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>SkiaSharp</RootNamespace>
<AssemblyName>SkiaSharp</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;MAC_DESKTOP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>MAC_DESKTOP</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="SkiaSharp.MacDesktop.targets">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\liblibskia_osx.dylib">
<Link>liblibskia_osx.dylib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="..\Binding\Binding.projitems" Label="Shared" Condition="Exists('..\Binding\Binding.projitems')" />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

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

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)liblibskia_osx.dylib">
<Link>liblibskia_osx.dylib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

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

@ -64,8 +64,8 @@
<None Include="SkiaSharp.OSX.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\liblibskia_osx.dylib">
<Link>liblibskia_osx.dylib</Link>
<None Include="..\..\native-builds\lib\osx\libskia_osx.dylib">
<Link>libskia_osx.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

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

@ -2,7 +2,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<NativeReference Include="$(MSBuildThisFileDirectory)liblibskia_osx.dylib">
<NativeReference Include="$(MSBuildThisFileDirectory)libskia_osx.dylib">
<IsCxx>False</IsCxx>
<Kind>Dynamic</Kind>
</NativeReference>

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

@ -7,7 +7,7 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding", "Binding\Binding.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Portable", "SkiaSharp.Portable\SkiaSharp.Portable.csproj", "{7AA90628-2FDD-4585-AF2F-CC51CFA8B52A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.WindowsDesktop", "SkiaSharp.WindowsDesktop\SkiaSharp.WindowsDesktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Desktop", "SkiaSharp.Desktop\SkiaSharp.Desktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution

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

@ -1 +0,0 @@


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

@ -54,11 +54,19 @@ CakeSpec.Libs = new ISolutionBuilder [] {
ToDirectory = "./output/portable/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.MacDesktop/bin/Release/SkiaSharp.dll",
FromFile = "./binding/SkiaSharp.Desktop/bin/AnyCPU/Release/SkiaSharp.dll",
ToDirectory = "./output/mac/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.MacDesktop/bin/Release/SkiaSharp.MacDesktop.targets",
FromFile = "./binding/SkiaSharp.Desktop/bin/AnyCPU/Release/SkiaSharp.Desktop.targets",
ToDirectory = "./output/mac/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.Desktop/bin/AnyCPU/Release/SkiaSharp.dll.config",
ToDirectory = "./output/mac/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.Desktop/bin/AnyCPU/Release/mac/libskia_osx.dylib",
ToDirectory = "./output/mac/"
},
}
@ -70,15 +78,15 @@ CakeSpec.Libs = new ISolutionBuilder [] {
IsMacCompatible = false,
OutputFiles = new [] {
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x86/Release/SkiaSharp.dll",
FromFile = "./binding/SkiaSharp.Desktop/bin/x86/Release/SkiaSharp.dll",
ToDirectory = "./output/windows/x86/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x86/Release/SkiaSharp.pdb",
FromFile = "./binding/SkiaSharp.Desktop/bin/x86/Release/SkiaSharp.pdb",
ToDirectory = "./output/windows/x86/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x86/Release/SkiaSharp.WindowsDesktop.targets",
FromFile = "./binding/SkiaSharp.Desktop/bin/x86/Release/SkiaSharp.Desktop.targets",
ToDirectory = "./output/windows/x86/"
},
}
@ -90,15 +98,15 @@ CakeSpec.Libs = new ISolutionBuilder [] {
IsMacCompatible = false,
OutputFiles = new [] {
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x64/Release/SkiaSharp.dll",
FromFile = "./binding/SkiaSharp.Desktop/bin/x64/Release/SkiaSharp.dll",
ToDirectory = "./output/windows/x64/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x64/Release/SkiaSharp.pdb",
FromFile = "./binding/SkiaSharp.Desktop/bin/x64/Release/SkiaSharp.pdb",
ToDirectory = "./output/windows/x64/"
},
new OutputFileCopy {
FromFile = "./binding/SkiaSharp.WindowsDesktop/bin/x64/Release/SkiaSharp.WindowsDesktop.targets",
FromFile = "./binding/SkiaSharp.Desktop/bin/x64/Release/SkiaSharp.Desktop.targets",
ToDirectory = "./output/windows/x64/"
},
}
@ -124,31 +132,33 @@ CakeSpec.Samples = new ISolutionBuilder [] {
};
CakeSpec.Tests = new SolutionTestRunner [] {
// Windows (x86 and x64)
new SolutionTestRunner {
SolutionBuilder = new DefaultSolutionBuilder {
IsWindowsCompatible = true,
IsMacCompatible = false,
SolutionPath = "./tests/SkiaSharp.WindowsDesktop.Tests/SkiaSharp.WindowsDesktop.Tests.sln",
SolutionPath = "./tests/SkiaSharp.Desktop.Tests/SkiaSharp.Desktop.Tests.sln",
Platform = "x86",
},
TestAssembly = "./tests/SkiaSharp.WindowsDesktop.Tests/bin/x86/Release/SkiaSharp.WindowsDesktop.Tests.dll",
TestAssembly = "./tests/SkiaSharp.Desktop.Tests/bin/x86/Release/SkiaSharp.Desktop.Tests.dll",
},
new SolutionTestRunner {
SolutionBuilder = new DefaultSolutionBuilder {
IsWindowsCompatible = true,
IsMacCompatible = false,
SolutionPath = "./tests/SkiaSharp.WindowsDesktop.Tests/SkiaSharp.WindowsDesktop.Tests.sln",
SolutionPath = "./tests/SkiaSharp.Desktop.Tests/SkiaSharp.Desktop.Tests.sln",
Platform = "x64",
},
TestAssembly = "./tests/SkiaSharp.WindowsDesktop.Tests/bin/x64/Release/SkiaSharp.WindowsDesktop.Tests.dll",
TestAssembly = "./tests/SkiaSharp.Desktop.Tests/bin/x64/Release/SkiaSharp.Desktop.Tests.dll",
},
// Mac OSX (Any CPU)
new SolutionTestRunner {
SolutionBuilder = new DefaultSolutionBuilder {
IsWindowsCompatible = false,
IsMacCompatible = true,
SolutionPath = "./tests/SkiaSharp.MacDesktop.Tests/SkiaSharp.MacDesktop.Tests.sln",
SolutionPath = "./tests/SkiaSharp.Desktop.Tests/SkiaSharp.Desktop.Tests.sln",
},
TestAssembly = "./tests/SkiaSharp.MacDesktop.Tests/bin/Release/SkiaSharp.MacDesktop.Tests.dll",
TestAssembly = "./tests/SkiaSharp.Desktop.Tests/bin/Release/SkiaSharp.Desktop.Tests.dll",
},
};
@ -162,8 +172,8 @@ Task ("libs")
.Does (() =>
{
if (IsRunningOnUnix ()) {
CopyFileToDirectory ("./native-builds/lib/osx/liblibskia_osx.dylib", "./output/osx/");
CopyFileToDirectory ("./native-builds/lib/osx/liblibskia_osx.dylib", "./output/mac/");
CopyFileToDirectory ("./native-builds/lib/osx/libskia_osx.dylib", "./output/osx/");
CopyFileToDirectory ("./native-builds/lib/osx/libskia_osx.dylib", "./output/mac/");
}
if (IsRunningOnWindows ()) {
CopyFileToDirectory ("./native-builds/lib/windows/x86/libskia_windows.dll", "./output/windows/x86/");
@ -262,7 +272,7 @@ Task ("externals-windows")
Task ("externals-osx")
.WithCriteria (IsRunningOnUnix ())
.WithCriteria (
!FileExists ("native-builds/lib/osx/liblibskia_osx.dylib"))
!FileExists ("native-builds/lib/osx/libskia_osx.dylib"))
.Does (() =>
{
var buildArch = new Action<string> ((arch) => {
@ -277,7 +287,7 @@ Task ("externals-osx")
CreateDirectory ("native-builds/lib/osx/" + arch);
}
CopyDirectory ("native-builds/libskia_osx/build/Release/", "native-builds/lib/osx/" + arch);
RunInstallNameTool ("native-builds/lib/osx/" + arch, "lib/liblibskia_osx.dylib", "@loader_path/liblibskia_osx.dylib", "liblibskia_osx.dylib");
RunInstallNameTool ("native-builds/lib/osx/" + arch, "lib/libskia_osx.dylib", "@loader_path/libskia_osx.dylib", "libskia_osx.dylib");
});
// set up the gyp environment variables
@ -290,9 +300,9 @@ Task ("externals-osx")
buildArch ("x86_64");
// create the fat dylib
RunLipo ("native-builds/lib/osx/", "liblibskia_osx.dylib",
"i386/liblibskia_osx.dylib",
"x86_64/liblibskia_osx.dylib");
RunLipo ("native-builds/lib/osx/", "libskia_osx.dylib",
"i386/libskia_osx.dylib",
"x86_64/libskia_osx.dylib");
});
Task ("externals-ios")
.WithCriteria (IsRunningOnUnix ())

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

@ -1 +0,0 @@
cc -shared -Xlinker -force_load libskia_core.a -o libskia.dylib libskia_opts_sse41.a libskia_opts_avx.a libjpeg-turbo.a libSkKTX.a libskia_core.a libskia_ports.a libskia_sfnt.a libskia_utils.a libskia_images.a libskia_skgpu.a libskia_effects.a libskia_opts.a libskia_opts_ssse3.a libwebp_dec.a libwebp_dsp.a libwebp_utils.a libwebp_enc.a libwebp_dsp_enc.a libetc1.a -framework Foundation -framework CoreGraphics -framework CoreText -framework OpenCL -framework OpenGL -framework ImageIO -framework CoreServices -lstdc++

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

@ -249,7 +249,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
21C951551C03D27A003A1E1D /* liblibskia_osx.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = liblibskia_osx.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
21C951551C03D27A003A1E1D /* libskia_osx.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libskia_osx.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
21C951661C03D363003A1E1D /* sfnt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = sfnt.xcodeproj; path = ../../skia/out/gyp/sfnt.xcodeproj; sourceTree = "<group>"; };
21C9516C1C03D36D003A1E1D /* core.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = core.xcodeproj; path = ../../skia/out/gyp/core.xcodeproj; sourceTree = "<group>"; };
21C951781C03D380003A1E1D /* effects.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = effects.xcodeproj; path = ../../skia/out/gyp/effects.xcodeproj; sourceTree = "<group>"; };
@ -268,10 +268,10 @@
21C951ED1C03D551003A1E1D /* etc1.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = etc1.xcodeproj; path = ../../skia/out/gyp/etc1.xcodeproj; sourceTree = "<group>"; };
340303821C404C3D00630F26 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../src/sk_xamarin.cpp; sourceTree = "<group>"; };
3403038E1C404FD100630F26 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../src/sk_xamarin.h; sourceTree = "<group>"; };
340303981C40543C00630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = "../src/sk_managedstream.cpp"; sourceTree = "<absolute>"; };
340303991C40543C00630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = "../src/sk_managedstream.h"; sourceTree = "<absolute>"; };
3403039A1C40543C00630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = "../src/SkManagedStream.cpp"; sourceTree = "<absolute>"; };
3403039B1C40543C00630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = "../src/SkManagedStream.h"; sourceTree = "<absolute>"; };
340303981C40543C00630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../src/sk_managedstream.cpp; sourceTree = "<absolute>"; };
340303991C40543C00630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../src/sk_managedstream.h; sourceTree = "<absolute>"; };
3403039A1C40543C00630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../src/SkManagedStream.cpp; sourceTree = "<absolute>"; };
3403039B1C40543C00630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../src/SkManagedStream.h; sourceTree = "<absolute>"; };
343DAE2E1C3F26CF00FAD826 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../src/SkiaKeeper.c; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -317,7 +317,7 @@
21C951561C03D27A003A1E1D /* Products */ = {
isa = PBXGroup;
children = (
21C951551C03D27A003A1E1D /* liblibskia_osx.dylib */,
21C951551C03D27A003A1E1D /* libskia_osx.dylib */,
);
name = Products;
sourceTree = "<group>";
@ -489,7 +489,7 @@
);
name = libskia_osx;
productName = libskia_osx;
productReference = 21C951551C03D27A003A1E1D /* liblibskia_osx.dylib */;
productReference = 21C951551C03D27A003A1E1D /* libskia_osx.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
@ -874,7 +874,7 @@
buildSettings = {
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_PREFIX = "";
HEADER_SEARCH_PATHS = (
../../skia/src/c,
../../skia/include/c,
@ -896,7 +896,7 @@
buildSettings = {
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_PREFIX = "";
HEADER_SEARCH_PATHS = (
../../skia/src/c,
../../skia/include/c,

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

@ -3,7 +3,7 @@
<metadata>
<id>Xamarin.SkiaSharp</id>
<title>Skia for Xamarin and Windows</title>
<version>1.49.0.0-preview1</version>
<version>1.49.0.0-preview5</version>
<authors>Xamarin Inc.</authors>
<owners>Xamarin Inc.</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
@ -12,6 +12,8 @@
</metadata>
<files>
<!-- the platform specific -->
<file src="./output/mac/SkiaSharp.dll" target="lib\net45" />
<file src="./output/mac/SkiaSharp.dll.config" target="lib\net45\SkiaSharp.dll.config" />
<file src="./output/android/SkiaSharp.dll" target="lib\MonoAndroid" />
<file src="./output/ios/SkiaSharp.dll" target="lib\XamariniOS" />
<file src="./output/osx/SkiaSharp.dll" target="lib\XamarinMac" />
@ -20,8 +22,11 @@
<file src="./output/portable/SkiaSharp.dll" target="lib\portable-net45+xamarinmac+xamarinios+monotouch+monoandroid+win8+wpa81+wp8+xamarin.watchos+xamarin.tvos" />
<!-- the build bits -->
<!-- .NET 4.5 -->
<file src="./output/mac/SkiaSharp.Desktop.targets" target="build\net45\Xamarin.SkiaSharp.targets" />
<file src="./output/mac/libskia_osx.dylib" target="build\net45\mac\libskia_osx.dylib" />
<!-- OS X -->
<file src="./output/osx/SkiaSharp.OSX.targets" target="build\XamarinMac\Xamarin.SkiaSharp.targets" />
<file src="./native-builds/lib/osx/liblibskia_osx.dylib" target="build\XamarinMac\liblibskia_osx.dylib" />
<file src="./output/osx/libskia_osx.dylib" target="build\XamarinMac\libskia_osx.dylib" />
</files>
</package>

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

@ -141,12 +141,12 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\binding\SkiaSharp.WindowsDesktop\SkiaSharp.WindowsDesktop.csproj">
<ProjectReference Include="..\..\binding\SkiaSharp.Desktop\SkiaSharp.Desktop.csproj">
<Project>{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}</Project>
<Name>SkiaSharp.WindowsDesktop</Name>
<Name>SkiaSharp.Desktop</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\..\binding\SkiaSharp.WindowsDesktop\bin\$(Platform)\$(Configuration)\SkiaSharp.WindowsDesktop.targets" />
<Import Project="..\..\binding\SkiaSharp.Desktop\bin\$(Platform)\$(Configuration)\SkiaSharp.Desktop.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

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

@ -7,7 +7,7 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding", "..\..\binding\Bi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Skia.WindowsDesktop.Demo", "Skia.WindowsDesktop.Demo.csproj", "{9F1E2C85-F1B2-48D0-9750-207BE59E87F4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.WindowsDesktop", "..\..\binding\SkiaSharp.WindowsDesktop\SkiaSharp.WindowsDesktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Desktop", "..\..\binding\SkiaSharp.Desktop\SkiaSharp.Desktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution

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

@ -8,8 +8,8 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SkiaSharp.Tests</RootNamespace>
<AssemblyName>SkiaSharp.WindowsDesktop.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<AssemblyName>SkiaSharp.Desktop.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@ -66,8 +66,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework, Version=3.0.5813.39031, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\..\samples\Skia.WindowsDesktop.Demo\packages\NUnit.3.0.1\lib\net45\nunit.framework.dll</HintPath>
<Reference Include="nunit.framework">
<HintPath>packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
@ -99,12 +99,12 @@
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\binding\SkiaSharp.WindowsDesktop\SkiaSharp.WindowsDesktop.csproj">
<ProjectReference Include="..\..\binding\SkiaSharp.Desktop\SkiaSharp.Desktop.csproj">
<Project>{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}</Project>
<Name>SkiaSharp.WindowsDesktop</Name>
<Name>SkiaSharp.Desktop</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\..\binding\SkiaSharp.WindowsDesktop\bin\$(Platform)\$(Configuration)\SkiaSharp.WindowsDesktop.targets" />
<Import Project="..\..\binding\SkiaSharp.Desktop\bin\$(Platform)\$(Configuration)\SkiaSharp.Desktop.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

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

@ -5,9 +5,9 @@ VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding", "..\..\binding\Binding\Binding.shproj", "{9C502B9A-25D4-473F-89BD-5A13DDE16354}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.WindowsDesktop", "..\..\binding\SkiaSharp.WindowsDesktop\SkiaSharp.WindowsDesktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Desktop", "..\..\binding\SkiaSharp.Desktop\SkiaSharp.Desktop.csproj", "{EB1BBDCC-FB07-40D5-8B9E-0079E2C2F2DF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.WindowsDesktop.Tests", "SkiaSharp.WindowsDesktop.Tests.csproj", "{F0179CDB-9435-4FB4-8E52-DBF191079491}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Desktop.Tests", "SkiaSharp.Desktop.Tests.csproj", "{F0179CDB-9435-4FB4-8E52-DBF191079491}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution

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

@ -1,27 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle ("SkiaSharp.MacDesktop.Tests")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyCompany ("")]
[assembly: AssemblyProduct ("")]
[assembly: AssemblyCopyright ("matthew")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion ("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

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

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B44897AA-6538-40F0-A69A-AEB4906A00D5}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>SkiaSharp.Tests</RootNamespace>
<AssemblyName>SkiaSharp.MacDesktop.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
<Reference Include="nunit.framework">
<HintPath>packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Tests\SKManagedStreamTest.cs">
<Link>SKManagedStreamTest.cs</Link>
</Compile>
<Compile Include="..\Tests\SKSurfaceTest.cs">
<Link>SKSurfaceTest.cs</Link>
</Compile>
<Compile Include="..\Tests\SKTest.cs">
<Link>SKTest.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\binding\SkiaSharp.MacDesktop\SkiaSharp.MacDesktop.csproj">
<Project>{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}</Project>
<Name>SkiaSharp.MacDesktop</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\..\binding\SkiaSharp.MacDesktop\bin\$(Configuration)\SkiaSharp.MacDesktop.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

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

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.MacDesktop.Tests", "SkiaSharp.MacDesktop.Tests.csproj", "{B44897AA-6538-40F0-A69A-AEB4906A00D5}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Binding", "..\..\binding\Binding\Binding.shproj", "{9C502B9A-25D4-473F-89BD-5A13DDE16354}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.MacDesktop", "..\..\binding\SkiaSharp.MacDesktop\SkiaSharp.MacDesktop.csproj", "{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B44897AA-6538-40F0-A69A-AEB4906A00D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B44897AA-6538-40F0-A69A-AEB4906A00D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B44897AA-6538-40F0-A69A-AEB4906A00D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B44897AA-6538-40F0-A69A-AEB4906A00D5}.Release|Any CPU.Build.0 = Release|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFB0E2C4-93FE-42C8-BDFA-9C94251CF1A5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

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

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.0.1" targetFramework="net451" />
</packages>