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:
Thomas Goyne 2014-05-09 15:27:26 -07:00
parent 3d8071df7f
commit eb2793f88d
46 changed files with 10747 additions and 378 deletions

View File

@ -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"

View File

@ -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" />

View File

@ -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;
}
}
}
}

View File

@ -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;
}
}
}
}

View File

@ -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();
}
}
}

View File

@ -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('\\', '/'));
}
}
}

View File

@ -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>

View File

@ -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" />

1724
build/ffmpeg/config-x64.asm Normal file

File diff suppressed because it is too large Load Diff

1740
build/ffmpeg/config-x64.h Normal file

File diff suppressed because it is too large Load Diff

1724
build/ffmpeg/config-x86.asm Normal file

File diff suppressed because it is too large Load Diff

1740
build/ffmpeg/config-x86.h Normal file

File diff suppressed because it is too large Load Diff

5
build/ffmpeg/config.h Normal file
View File

@ -0,0 +1,5 @@
#ifdef _WIN64
#include "config-x64.h"
#else
#include "config-x86.h"
#endif

1
build/ffmpeg/configure.sh Executable file
View File

@ -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

View File

@ -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 */

View File

@ -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" />

View File

@ -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>

View File

@ -15,6 +15,9 @@
</ImportGroup>
<!-- Project specific configuration -->
<PropertyGroup>
<HeaderRoot>$(FftwSrcDir)\api</HeaderRoot>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>

View File

@ -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" />

View File

@ -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" />

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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" />

View File

@ -15,6 +15,9 @@
</ImportGroup>
<!-- Project specific configuration -->
<PropertyGroup>
<HeaderRoot>$(SrcDir)\include</HeaderRoot>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SrcDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

View File

@ -15,6 +15,9 @@
</ImportGroup>
<!-- Project specific configuration -->
<PropertyGroup>
<HeaderRoot>$(SrcDir)\include</HeaderRoot>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>

View File

@ -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>

View File

@ -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" />