mirror of https://github.com/odrling/Aegisub
Add msbuild build system for FFmpeg
This eliminates the need for a msys environment to build any part of Aegisub. Also happens to make building FFmpeg much faster (~3 minutes vs. ~10 minutes for me).
This commit is contained in:
parent
3d8071df7f
commit
eb2793f88d
|
@ -133,14 +133,6 @@
|
|||
/>
|
||||
|
||||
<!-- Library Paths -->
|
||||
<StringProperty
|
||||
Subtype="folder"
|
||||
Name="MsysBasePath"
|
||||
Category="Paths"
|
||||
DisplayName="MSYS root"
|
||||
Description="Root directory of a copy of msys with git installed. Only required if it is not on your PATH."
|
||||
/>
|
||||
|
||||
<StringProperty
|
||||
Subtype="folder"
|
||||
Name="WinRarPath"
|
||||
|
|
|
@ -54,13 +54,9 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DownloadTgzFile.cs" />
|
||||
<Compile Include="ExecShellScript.cs" />
|
||||
<Compile Include="GitVersion.cs" />
|
||||
<Compile Include="MsysPath.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ShellWrapper.cs" />
|
||||
<Compile Include="TarballProject.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
// Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
// copyright notice and this permission notice appear in all copies.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
//
|
||||
// Aegisub Project http://www.aegisub.org/
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using System;
|
||||
|
||||
namespace BuildTasks {
|
||||
public class ExecShellScript : Task {
|
||||
[Required] public string WorkingDirectory { get; set; }
|
||||
[Required] public string Command { get; set; }
|
||||
[Required] public ITaskItem Configuration { get; set; }
|
||||
public string Arguments { get; set; }
|
||||
|
||||
private string RealArgs() {
|
||||
return string.Format("-c '{0} {1}'", Utils.MungePath(this.Command),
|
||||
(this.Arguments ?? "").Replace("\r", "").Replace('\n', ' '));
|
||||
}
|
||||
|
||||
public override bool Execute() {
|
||||
try {
|
||||
var sw = new ShellWrapper(this.Configuration);
|
||||
sw.BuildEngine = this.BuildEngine;
|
||||
sw.HostObject = this.HostObject;
|
||||
sw.Arguments = this.RealArgs();
|
||||
sw.WorkingDirectory = this.WorkingDirectory;
|
||||
return sw.Execute();
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.Log.LogErrorFromException(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
// Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
// copyright notice and this permission notice appear in all copies.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
//
|
||||
// Aegisub Project http://www.aegisub.org/
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using System;
|
||||
|
||||
namespace BuildTasks {
|
||||
public class MsysPath : Task {
|
||||
public string Path { get; set; }
|
||||
[Output] public string Result { get; set; }
|
||||
|
||||
public override bool Execute() {
|
||||
try {
|
||||
this.Result = Utils.MungePath(this.Path);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.Log.LogErrorFromException(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
// Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
// copyright notice and this permission notice appear in all copies.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
//
|
||||
// Aegisub Project http://www.aegisub.org/
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace BuildTasks {
|
||||
public class ShellWrapper : ToolTask {
|
||||
private ITaskItem _conf;
|
||||
|
||||
public string Arguments { get; set; }
|
||||
public string WorkingDirectory { get; set; }
|
||||
|
||||
protected override string ToolName { get { return "sh.exe"; } }
|
||||
protected override string GenerateFullPathToTool() { return _conf.GetMetadata("Sh"); }
|
||||
protected override string GenerateCommandLineCommands() { return this.Arguments; }
|
||||
protected override string GetWorkingDirectory() { return this.WorkingDirectory; }
|
||||
|
||||
public ShellWrapper(ITaskItem conf) {
|
||||
_conf = conf;
|
||||
}
|
||||
|
||||
public override bool Execute() {
|
||||
if (!File.Exists(this.GenerateFullPathToTool()))
|
||||
throw new Exception("sh.exe not found. Make sure the MSYS root is set to a correct location.");
|
||||
if (!Directory.Exists(this.WorkingDirectory))
|
||||
Directory.CreateDirectory(this.WorkingDirectory);
|
||||
|
||||
this.UseCommandProcessor = false;
|
||||
this.StandardOutputImportance = "High";
|
||||
this.EnvironmentVariables =
|
||||
new string[] {"CC", "CPP", "CFLAGS", "PATH", "INCLUDE", "LIB"}
|
||||
.Select(x => string.Format("{0}={1}", x, _conf.GetMetadata(x).Replace("\n", "").Replace(" ", "")))
|
||||
.ToArray();
|
||||
|
||||
return base.Execute();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
// Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
|
||||
//
|
||||
// Permission to use, copy, modify, and distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
// copyright notice and this permission notice appear in all copies.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
//
|
||||
// Aegisub Project http://www.aegisub.org/
|
||||
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace BuildTasks {
|
||||
static class Utils {
|
||||
/// Convert an absolute windows path to an msys path
|
||||
static public string MungePath(string path) {
|
||||
var match = Regex.Match(path, @"([A-Za-z]):\\(.*)");
|
||||
if (!match.Success)
|
||||
return path;
|
||||
return string.Format("/{0}/{1}", match.Groups[1].Value, match.Groups[2].Value.Replace('\\', '/'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -63,12 +63,4 @@
|
|||
<WxSrcDir>..\..\vendor\wxWidgets</WxSrcDir>
|
||||
<ZlibSrcDir>..\..\vendor\zlib</ZlibSrcDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(MsysBasePath)' == ''">
|
||||
<MsysBasePath Condition="Exists('c:\msys\bin\git.exe')">c:\msys</MsysBasePath>
|
||||
<MsysBasePath Condition="Exists('c:\msysgit\bin\git.exe')">c:\msysgit</MsysBasePath>
|
||||
<MsysBasePath Condition="Exists('%PROGRAMFILES%\Git\bin\git.exe')">%PROGRAMFILES%\Git</MsysBasePath>
|
||||
<MsysBasePath Condition="Exists('%PROGRAMFILES(X86)%\Git\bin\git.exe')">%PROGRAMFILES(X86)%\Git</MsysBasePath>
|
||||
<MsysBasePath Condition="Exists('%PROGRAMW6432%\Git\bin\git.exe')">%PROGRAMW6432%\Git</MsysBasePath>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<PropertyGroup Label="AegisubConfiguration">
|
||||
<AegisubProjectType>lib</AegisubProjectType>
|
||||
<SrcDir>..\..\vendor\csri\</SrcDir>
|
||||
<HeaderRoot>$(SrcDir)include</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
|
||||
|
@ -25,9 +26,7 @@
|
|||
|
||||
<!-- Source files -->
|
||||
<ItemGroup>
|
||||
<InstallHeader Include="$(SrcDir)\include\csri\*.h">
|
||||
<Destination>csri\</Destination>
|
||||
</InstallHeader>
|
||||
<InstallHeader Include="$(SrcDir)include\csri\*.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="$(SrcDir)include\csri\csri.h" />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
#ifdef _WIN64
|
||||
#include "config-x64.h"
|
||||
#else
|
||||
#include "config-x86.h"
|
||||
#endif
|
|
@ -0,0 +1 @@
|
|||
./configure $@ --disable-avfilter --disable-avresample --disable-bzlib --disable-devices --disable-doc --disable-encoders --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-filters --disable-hwaccels --disable-muxers --disable-network --disable-postproc --disable-pthreads --disable-shared --disable-swresample --enable-avresample --enable-gpl --enable-runtime-cpudetect --enable-static --enable-zlib --extra-cflags=-D_SYSCRT --extra-cflags=-wd4005 --extra-cflags=-wd4189 --toolchain=msvc
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
/* Generated by ffconf */
|
||||
#ifndef AVUTIL_AVCONFIG_H
|
||||
#define AVUTIL_AVCONFIG_H
|
||||
#define AV_HAVE_BIGENDIAN 0
|
||||
#define AV_HAVE_FAST_UNALIGNED 1
|
||||
#define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0
|
||||
#endif /* AVUTIL_AVCONFIG_H */
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<Ffms2PreprocessorHaalisource Condition="'$(Ffms2UseAtl)'!='0'">HAALISOURCE;</Ffms2PreprocessorHaalisource>
|
||||
<HeaderRoot>$(FfmsSrcDir)\include</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
|
@ -56,7 +57,6 @@
|
|||
<None Include="$(FfmsSrcDir)\src\vapoursynth\vapoursynth.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\config\libs.cpp" />
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\core\audiosource.cpp" />
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\core\codectype.cpp" />
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\core\ffms.cpp" />
|
||||
|
@ -89,7 +89,6 @@
|
|||
<ClInclude Include="$(FfmsSrcDir)\src\avisynth\avssources.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\avisynth\avsutils.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\avisynth\ffswscale.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\config\msvc-config.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\core\audiosource.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\core\codectype.h" />
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\core\coparser.h" />
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
<Filter Include="Avisynth">
|
||||
<UniqueIdentifier>{fab6c2c7-eeae-4009-a932-fc079402db63}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Config">
|
||||
<UniqueIdentifier>{ac81097c-9043-43fa-a184-ea4c22091059}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="VapourSynth">
|
||||
<UniqueIdentifier>{8a87437e-fe04-4b74-a917-f8c108247e3f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -93,9 +90,6 @@
|
|||
<None Include="$(FfmsSrcDir)\src\avisynth\ffswscale.cpp">
|
||||
<Filter>Avisynth</Filter>
|
||||
</None>
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\config\libs.cpp">
|
||||
<Filter>Config</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(FfmsSrcDir)\src\core\videoutils.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
|
@ -170,9 +164,6 @@
|
|||
<ClInclude Include="$(FfmsSrcDir)\src\avisynth\ffswscale.h">
|
||||
<Filter>Avisynth</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\config\msvc-config.h">
|
||||
<Filter>Config</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(FfmsSrcDir)\src\core\videoutils.h">
|
||||
<Filter>Video</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</ImportGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
<PropertyGroup>
|
||||
<HeaderRoot>$(FftwSrcDir)\api</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</ImportGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
<PropertyGroup>
|
||||
<HeaderRoot>$(FontconfigSrcDir)</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>
|
||||
|
@ -31,9 +34,7 @@
|
|||
|
||||
<!-- Source files -->
|
||||
<ItemGroup>
|
||||
<InstallHeader Include="$(FontconfigSrcDir)\fontconfig\*.h">
|
||||
<Destination>fontconfig\</Destination>
|
||||
</InstallHeader>
|
||||
<InstallHeader Include="$(FontconfigSrcDir)\fontconfig\*.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(FontconfigSrcDir)\src\fcatomic.c" />
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</ImportGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
<PropertyGroup>
|
||||
<HeaderRoot>$(Freetype2SrcDir)\include</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(Freetype2SrcDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
|
@ -30,16 +33,7 @@
|
|||
|
||||
<!-- Source files -->
|
||||
<ItemGroup>
|
||||
<InstallHeader Include="$(Freetype2SrcDir)\include\*.h" />
|
||||
<InstallHeader Include="$(Freetype2SrcDir)\include\config\*.h">
|
||||
<Destination>config\</Destination>
|
||||
</InstallHeader>
|
||||
<InstallHeader Include="$(Freetype2SrcDir)\include\internal\*.h">
|
||||
<Destination>internal\</Destination>
|
||||
</InstallHeader>
|
||||
<InstallHeader Include="$(Freetype2SrcDir)\include\internal\services*.h">
|
||||
<Destination>internal\services\</Destination>
|
||||
</InstallHeader>
|
||||
<InstallHeader Include="$(Freetype2SrcDir)\include\**\*.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(Freetype2SrcDir)\src\autofit\autofit.c" />
|
||||
|
|
|
@ -54,8 +54,8 @@
|
|||
<ClCompile Include="$(FribidiSrcDir)\lib\fribidi-run.c" />
|
||||
<ClCompile Include="$(FribidiSrcDir)\lib\fribidi-shape.c" />
|
||||
<ClCompile Include="$(FribidiSrcDir)\lib\fribidi.c" />
|
||||
<InstallHeader Include="$(FribidiSrcDir)\lib\*.h;$(MSBuildThisFileDirectory)fribidi-config.h">
|
||||
<InstallHeaderTo Include="$(FribidiSrcDir)\lib\*.h;$(MSBuildThisFileDirectory)fribidi-config.h">
|
||||
<Destination>fribidi\</Destination>
|
||||
</InstallHeader>
|
||||
</InstallHeaderTo>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -355,9 +355,9 @@
|
|||
<ClInclude Include="$(IcuSrcDir)\common\uvectr32.h" />
|
||||
<ClInclude Include="$(IcuSrcDir)\common\uvectr64.h" />
|
||||
<ClInclude Include="$(IcuSrcDir)\common\wintz.h" />
|
||||
<InstallHeader Include="$(IcuSrcDir)\common\unicode\*.h">
|
||||
<InstallHeaderTo Include="$(IcuSrcDir)\common\unicode\*.h">
|
||||
<Destination>unicode\</Destination>
|
||||
</InstallHeader>
|
||||
</InstallHeaderTo>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(IcuSrcDir)\i18n\filteredbrk.cpp" />
|
||||
|
@ -680,9 +680,9 @@
|
|||
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_conf.h" />
|
||||
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_impl.h" />
|
||||
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_wsconf.h" />
|
||||
<InstallHeader Include="$(IcuSrcDir)\i18n\unicode\*.h">
|
||||
<InstallHeaderTo Include="$(IcuSrcDir)\i18n\unicode\*.h">
|
||||
<Destination>unicode\</Destination>
|
||||
</InstallHeader>
|
||||
</InstallHeaderTo>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\luajit-minilua\luajit-minilua.vcxproj">
|
||||
|
|
|
@ -4,11 +4,23 @@
|
|||
Name="InstallHeaders"
|
||||
AfterTargets="ClCompile"
|
||||
Inputs="@(InstallHeader)"
|
||||
Outputs="$(AegisubSourceBase)include\%(InstallHeader.Destination)%(Filename)%(Extension)"
|
||||
Outputs="@(InstallHeader->Replace($(HeaderRoot), $(AegisubSourceBase)include))"
|
||||
>
|
||||
<Copy
|
||||
SourceFiles="@(InstallHeader)"
|
||||
DestinationFiles="$(AegisubSourceBase)include\%(InstallHeader.Destination)%(Filename)%(Extension)"
|
||||
DestinationFiles="@(InstallHeader->Replace($(HeaderRoot), $(AegisubSourceBase)include))"
|
||||
SkipUnchangedFiles="true"
|
||||
/>
|
||||
</Target>
|
||||
<Target
|
||||
Name="InstallHeadersTo"
|
||||
AfterTargets="ClCompile"
|
||||
Inputs="@(InstallHeaderTo)"
|
||||
Outputs="@(InstallHeaderTo -> '$(AegisubSourceBase)include\%(Destination)%(Filename)%(Extension)')"
|
||||
>
|
||||
<Copy
|
||||
SourceFiles="@(InstallHeaderTo)"
|
||||
DestinationFiles="@(InstallHeaderTo -> '$(AegisubSourceBase)include\%(Destination)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
/>
|
||||
</Target>
|
||||
|
|
|
@ -29,15 +29,15 @@
|
|||
%(PreprocessorDefinitions)
|
||||
</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<InstallHeader>
|
||||
<InstallHeaderTo>
|
||||
<Destination>ass\</Destination>
|
||||
</InstallHeader>
|
||||
</InstallHeaderTo>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<!-- Source files -->
|
||||
<ItemGroup>
|
||||
<InstallHeader Include="$(LibassSrcDir)\libass\ass.h" />
|
||||
<InstallHeader Include="$(LibassSrcDir)\libass\ass_types.h" />
|
||||
<InstallHeaderTo Include="$(LibassSrcDir)\libass\ass.h" />
|
||||
<InstallHeaderTo Include="$(LibassSrcDir)\libass\ass_types.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="$(LibassSrcDir)\libass\ass.h" />
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</ImportGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
<PropertyGroup>
|
||||
<HeaderRoot>$(SrcDir)\include</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SrcDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</ImportGroup>
|
||||
|
||||
<!-- Project specific configuration -->
|
||||
<PropertyGroup>
|
||||
<HeaderRoot>$(SrcDir)\include</HeaderRoot>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>
|
||||
|
|
|
@ -4,27 +4,6 @@
|
|||
<_PropertySheetDisplayName>Custom Tasks</_PropertySheetDisplayName>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExecShellScript Include=".">
|
||||
<CC>cl</CC>
|
||||
<CFLAGS>-nologo</CFLAGS>
|
||||
<Configuration>$(Configuration)</Configuration>
|
||||
<Platform>$(Platform)</Platform>
|
||||
<Sh>$(MsysBasePath)\bin\sh.exe</Sh>
|
||||
<INCLUDE>$(MSBuildProjectDirectory);$(AegisubSourceBase)\include;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;</INCLUDE>
|
||||
<PATH Condition="'$(Platform)'=='Win32'">$(MsysBasePath)\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;</PATH>
|
||||
<PATH Condition="'$(Platform)'=='x64'">$(MsysBasePath)\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64;</PATH>
|
||||
<LIB Condition="'$(Platform)'=='Win32'">$(AegisubLibraryDir);C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib;</LIB>
|
||||
<LIB Condition="'$(Platform)'=='x64'">$(AegisubLibraryDir);C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib\amd64;</LIB>
|
||||
</ExecShellScript>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<GmakeParallelBuild Condition="'$(GmakeParallelBuild)'==''">-j$(NUMBER_OF_PROCESSORS)</GmakeParallelBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="ExecShellScript" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
|
||||
<UsingTask TaskName="MsysPath" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
|
||||
<UsingTask TaskName="GitVersion" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
|
||||
</Project>
|
||||
|
||||
|
|
|
@ -3,10 +3,6 @@
|
|||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{10F22A5A-DD9E-44A1-BA2E-2A9A7C78B0EE}</ProjectGuid>
|
||||
<RootNamespace>zlib</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Aegisub project configuration -->
|
||||
<PropertyGroup Label="AegisubConfiguration">
|
||||
<AegisubProjectType>lib</AegisubProjectType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -24,8 +20,8 @@
|
|||
|
||||
<!-- Source files -->
|
||||
<ItemGroup>
|
||||
<InstallHeader Include="$(ZlibSrcDir)\zlib.h" />
|
||||
<InstallHeader Include="$(MSBuildThisFileDirectory)\zconf.h" />
|
||||
<InstallHeaderTo Include="$(ZlibSrcDir)\zlib.h" />
|
||||
<InstallHeaderTo Include="$(MSBuildThisFileDirectory)\zconf.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(ZlibSrcDir)\*.c" />
|
||||
|
|
Loading…
Reference in New Issue