126 lines
5 KiB
C#
126 lines
5 KiB
C#
using System;
|
|
using Sharpmake;
|
|
|
|
namespace JustDance.Tools.Extern
|
|
{
|
|
public class TeaBoxProject : FrameworkProject
|
|
{
|
|
public const string TeaBoxRootPath = @"[project.SharpmakeCsProjectPath]\..\..\..\tools\extern\TeaBox\";
|
|
public const string TeaBoxOutputPath = TeaBoxRootPath + @"Binaries\";
|
|
|
|
public const string AvalonRoot = TeaBoxRootPath + @"Extern\Avalon\";
|
|
public const string AvalonBase = AvalonRoot + @"Xceed.Wpf.AvalonDock.dll";
|
|
public const string AvalonThemeVs2013 = AvalonRoot + @"Xceed.Wpf.AvalonDock.Themes.VS2013.dll";
|
|
|
|
public TeaBoxProject()
|
|
{
|
|
AdditionalContentCopyIfNewer.Add(@"Data\Layouts\*");
|
|
RootPath = TeaBoxRootPath;
|
|
OutputType = Configuration.OutputType.DotNetClassLibrary;
|
|
ResourcesPath = @"[project.SourceRootPath]\Resources";
|
|
ResourceFilesExtensions.Add(".png");
|
|
ResourceFilesExtensions.Add(".bmp");
|
|
ResourceFilesExtensions.Add(".gif");
|
|
ResourceFilesExtensions.Add(".jpg");
|
|
ResourceFilesExtensions.Add(".ico");
|
|
ResourceFilesExtensions.Add(".rtf");
|
|
}
|
|
|
|
[Configure]
|
|
public override void ConfigureAll(Configuration conf, Target target)
|
|
{
|
|
conf.Output = OutputType;
|
|
conf.SolutionFolder = string.Empty;
|
|
conf.SolutionFolder = @"framework/teabox";
|
|
|
|
conf.ProjectFileName = "[project.Name].[target.DevEnv]";
|
|
conf.IntermediatePath = TeaBoxRootPath + @"tmp\[project.Name]\[target.Platform]_[target.DevEnv]_[conf.Name]";
|
|
conf.TargetPath = TeaBoxOutputPath;
|
|
|
|
conf.ProjectPath = SourceRootPath;
|
|
|
|
conf.ReferencesByName.Add("System");
|
|
conf.ReferencesByName.Add("System.Core");
|
|
conf.ReferencesByName.Add("System.Xml.Linq");
|
|
conf.ReferencesByName.Add("System.Data.DataSetExtensions");
|
|
conf.ReferencesByName.Add("System.Data");
|
|
conf.ReferencesByName.Add("System.Xml");
|
|
conf.ReferencesByName.Add("System.ServiceProcess");
|
|
conf.ReferencesByNuGetPackage.Add(Externs.JetBrainsAnnotationsNuget);
|
|
}
|
|
public static void ConfigureResourceScheme(CSharpProject project)
|
|
{
|
|
project.AdditionalContentCopyIfNewer.Add(@"Data\Layouts\*");
|
|
}
|
|
|
|
public static ITarget[] GetDefaultTargets()
|
|
{
|
|
return new ITarget[] { new Target(
|
|
Platform.win64 | Platform.anycpu,
|
|
DevEnv.vs2015 | DevEnv.vs2017,
|
|
Optimization.Debug | Optimization.Release,
|
|
Sharpmake.OutputType.Dll,
|
|
framework: DotNetFramework.v4_7)
|
|
};
|
|
}
|
|
}
|
|
|
|
[Generate]
|
|
public class TeaBox_Application : TeaBoxProject
|
|
{
|
|
public TeaBox_Application()
|
|
{
|
|
RootNamespace = "TeaBox";
|
|
SourceRootPath = TeaBoxRootPath + @"Source\Application\Project\";
|
|
}
|
|
|
|
public override void ConfigureAll(Configuration conf, Target target)
|
|
{
|
|
base.ConfigureAll(conf, target);
|
|
|
|
conf.AddPublicDependency<JD_TeaBoxAddinSystem>(target);
|
|
conf.AddPublicDependency<JD_UserControls>(target);
|
|
conf.AddPublicDependency<JD_ColorForms>(target);
|
|
conf.AddPublicDependency<JD_Sequencers>(target);
|
|
|
|
conf.RegisterWpf();
|
|
conf.ReferencesByName.Add("System.ComponentModel.DataAnnotations");
|
|
conf.ReferencesByName.Add("System.Drawing");
|
|
conf.ReferencesByName.Add("System.Web");
|
|
conf.ReferencesByName.Add("System.Windows.Forms");
|
|
conf.ReferencesByName.Add("WindowsFormsIntegration");
|
|
conf.ReferencesByName.Add("Microsoft.CSharp");
|
|
|
|
conf.ReferencesByPath.Add(Externs.SandGrid);
|
|
conf.ReferencesByPath.Add(Externs.SandBar);
|
|
|
|
conf.ReferencesByPath.Add(AvalonBase);
|
|
conf.ReferencesByPath.Add(AvalonThemeVs2013);
|
|
}
|
|
}
|
|
|
|
[Generate]
|
|
public class TeaBox_Macros : TeaBoxProject
|
|
{
|
|
public TeaBox_Macros()
|
|
{
|
|
SourceRootPath = TeaBoxRootPath + @"Source\Macros\Project\";
|
|
AdditionalNone.Add(@"[project.SourceRootPath]\project.json");
|
|
}
|
|
|
|
public override void ConfigureAll(Configuration conf, Target target)
|
|
{
|
|
base.ConfigureAll(conf, target);
|
|
conf.AddPublicDependency<JD_TeaBoxAddinSystem>(target);
|
|
conf.AddPublicDependency<TeaBox_Application>(target);
|
|
conf.RegisterWpf();
|
|
conf.ReferencesByName.Add("Microsoft.CSharp");
|
|
conf.ReferencesByName.Add("System.Drawing");
|
|
conf.ReferencesByName.Add("System.Windows.Forms");
|
|
conf.ReferencesByName.Add("System.Windows.Forms");
|
|
conf.ReferencesByName.Add("System.ComponentModel.DataAnnotations");
|
|
conf.ReferencesByPath.Add(Externs.SandGrid);
|
|
conf.ReferencesByNuGetPackage.Add(new NuGetDependency("Microsoft.CodeAnalysis", "1.3.2"));
|
|
}
|
|
}
|
|
}
|