120 строки
3.1 KiB
C#
120 строки
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Xml;
|
|
|
|
namespace xharness
|
|
{
|
|
public class TVOSTarget : Target
|
|
{
|
|
public override string Suffix {
|
|
get {
|
|
return "-tvos";
|
|
}
|
|
}
|
|
|
|
protected override string BindingsProjectTypeGuids {
|
|
get {
|
|
return "{4A1ED743-3331-459B-915A-4B17C7B6DBB6}";
|
|
}
|
|
}
|
|
|
|
protected override string ProjectTypeGuids {
|
|
get {
|
|
return "{06FA79CB-D6CD-4721-BB4B-1BD202089C55}";
|
|
}
|
|
}
|
|
|
|
protected override string TargetFrameworkIdentifier {
|
|
get {
|
|
return "Xamarin.TVOS";
|
|
}
|
|
}
|
|
|
|
protected override string Imports {
|
|
get {
|
|
return IsFSharp ? "TVOS\\Xamarin.TVOS.FSharp.targets" : "TVOS\\Xamarin.TVOS.CSharp.targets";
|
|
}
|
|
}
|
|
|
|
protected override string BindingsImports {
|
|
get {
|
|
return IsFSharp ? "TVOS\\Xamarin.TVOS.ObjCBinding.FSharp.targets" : "TVOS\\Xamarin.TVOS.ObjCBinding.CSharp.targets";
|
|
}
|
|
}
|
|
|
|
public override string SimulatorArchitectures {
|
|
get {
|
|
return "x86_64";
|
|
}
|
|
}
|
|
|
|
public override string DeviceArchitectures {
|
|
get {
|
|
return "ARM64";
|
|
}
|
|
}
|
|
|
|
protected override string GetMinimumOSVersion(string templateMinimumOSVersion)
|
|
{
|
|
return "9.0";
|
|
}
|
|
|
|
protected override int[] UIDeviceFamily {
|
|
get {
|
|
return new int [] { 3 };
|
|
}
|
|
}
|
|
|
|
protected override string AdditionalDefines {
|
|
get {
|
|
return "XAMCORE_2_0;XAMCORE_3_0;";
|
|
}
|
|
}
|
|
|
|
public override string Platform {
|
|
get {
|
|
return "tvos";
|
|
}
|
|
}
|
|
|
|
protected override bool SupportsBitcode {
|
|
get {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
static Dictionary<string, string> project_guids = new Dictionary<string, string> ();
|
|
|
|
protected override void ProcessProject ()
|
|
{
|
|
base.ProcessProject ();
|
|
|
|
var srcDirectory = Path.Combine (Harness.RootDirectory, "..", "src");
|
|
|
|
var mt_dialog_project_path = Path.GetFullPath (Path.Combine (srcDirectory, "MonoTouch.Dialog-1.tvos.csproj"));
|
|
string project_guid;
|
|
if (!project_guids.TryGetValue (mt_dialog_project_path, out project_guid)) {
|
|
XmlDocument mt_dialog_project = new XmlDocument ();
|
|
mt_dialog_project.LoadWithoutNetworkAccess (mt_dialog_project_path);
|
|
project_guid = mt_dialog_project.GetProjectGuid ();
|
|
project_guids [mt_dialog_project_path] = project_guid;
|
|
}
|
|
inputProject.CreateProjectReferenceValue ("MonoTouch.Dialog-1", mt_dialog_project_path, project_guid, "MonoTouch.Dialog-1");
|
|
|
|
var mt_nunitlite_project_path = Path.GetFullPath (Path.Combine (srcDirectory, "MonoTouch.NUnitLite.tvos.csproj"));
|
|
if (!project_guids.TryGetValue (mt_nunitlite_project_path, out project_guid)) {
|
|
XmlDocument mt_nunitlite_project = new XmlDocument ();
|
|
mt_nunitlite_project.LoadWithoutNetworkAccess (mt_nunitlite_project_path);
|
|
project_guid = mt_nunitlite_project.GetProjectGuid ();
|
|
project_guids [mt_nunitlite_project_path] = project_guid;
|
|
}
|
|
inputProject.CreateProjectReferenceValue ("MonoTouch.NUnitLite", mt_nunitlite_project_path, project_guid, "MonoTouch.NUnitLite");
|
|
|
|
inputProject.AddExtraMtouchArgs ("--bitcode:asmonly", "iPhone", "Release");
|
|
inputProject.SetMtouchUseLlvm (true, "iPhone", "Release");
|
|
}
|
|
}
|
|
}
|
|
|