Skip to content

Commit

Permalink
Add a msbuild project to build the portable installers
Browse files Browse the repository at this point in the history
  • Loading branch information
tgoyne committed Nov 25, 2012
1 parent 6ed970e commit 28b056e
Show file tree
Hide file tree
Showing 4 changed files with 379 additions and 1 deletion.
7 changes: 6 additions & 1 deletion Aegisub.sln
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Aegisub", "aegisub\build\Aegisub\Aegisub.vcxproj", "{9DDDB9E5-E4A1-423D-A224-F6D4E5AAC06A}"
Expand Down Expand Up @@ -67,6 +66,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxWidgets", "aegisub\build\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libass", "aegisub\build\libass\libass.vcxproj", "{8804F253-DA67-4CC4-926B-0CD2AEE5778D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PortableInstaller", "aegisub\build\PortableInstaller\PortableInstaller.vcxproj", "{5B0E9978-E76F-4BBC-8194-228323F59B53}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Expand Down Expand Up @@ -231,6 +232,10 @@ Global
{8804F253-DA67-4CC4-926B-0CD2AEE5778D}.Release|Win32.Build.0 = Release|Win32
{8804F253-DA67-4CC4-926B-0CD2AEE5778D}.Release|x64.ActiveCfg = Release|x64
{8804F253-DA67-4CC4-926B-0CD2AEE5778D}.Release|x64.Build.0 = Release|x64
{5B0E9978-E76F-4BBC-8194-228323F59B53}.Debug|Win32.ActiveCfg = Debug|Win32
{5B0E9978-E76F-4BBC-8194-228323F59B53}.Debug|x64.ActiveCfg = Debug|x64
{5B0E9978-E76F-4BBC-8194-228323F59B53}.Release|Win32.ActiveCfg = Release|Win32
{5B0E9978-E76F-4BBC-8194-228323F59B53}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
8 changes: 8 additions & 0 deletions aegisub/build/Aegisub/Aegisub.xml
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,14 @@
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"
Category="Paths"
DisplayName="WinRAR.exe location"
Description="Location of a copy of WinRAR.exe. Required to build the portable installer."
/>

<StringProperty
Subtype="folder"
Name="BoostPath"
Expand Down
193 changes: 193 additions & 0 deletions aegisub/build/PortableInstaller/PortableInstaller.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5B0E9978-E76F-4BBC-8194-228323F59B53}</ProjectGuid>
<RootNamespace>PortableInstaller</RootNamespace>
</PropertyGroup>

<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
<Import Project="$(MSBuildThisFileDirectory)..\git_version.xml" />
</ImportGroup>

<PropertyGroup>
<PlatformName Condition="$(Platform) == 'Win32'">x86</PlatformName>
<PlatformName Condition="$(Platform) == 'x64'">x64</PlatformName>
<FileName>aegisub-$(GitVersionString)-portable-$(AegisubPlatformSuffix)</FileName>
<OutputFile>$(AegisubSourceBase)packages\win_installer\output\$(FileName).exe</OutputFile>
</PropertyGroup>

<Target Name="Build">
<Error
Condition="!Exists($(WinRarPath))"
Text="WinRAR.exe not found. Please set the path to it."
/>

<MakeDir Directories="$(AegisubObjectDir)\$(FileName)" />

<Copy
SourceFiles="@(RarContents)"
DestinationFiles="$(AegisubObjectDir)$(FileName)\%(RarContents.OutputPath)%(Filename)%(Extension)"
SkipUnchangedFiles="true"
/>

<Copy
SourceFiles="@(RarMetafiles)"
DestinationFolder="$(AegisubObjectDir)"
SkipUnchangedFiles="true"
/>

<Delete Files="$(OutputFile)" />

<Exec
Command="&quot;$(WinRarPath)&quot; a -sfx -s -m5 -ep1 -r -zportable-comment.txt -iimgside-logo.bmp -iiconicon.ico $(OutputFile) $(FileName)"
WorkingDirectory="$(AegisubObjectDir)"
/>
</Target>

<ItemGroup>
<RarContents Include="$(AegisubSourceBase)automation\autoload\clean-info.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\cleantags-autoload.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\kara-templater.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\karaoke-auto-leadin.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\macro-1-edgeblur.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\macro-2-mkfullwitdh.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\select-overlaps.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\autoload\strip-tags.lua">
<OutputPath>automation\autoload\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\demos\future-windy-blur.lua">
<OutputPath>automation\demos\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\demos\raytracer.lua">
<OutputPath>automation\demos\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\cleantags.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\clipboard.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\karaskel-auto4.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\karaskel.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\re.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\unicode.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\utils-auto4.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\include\utils.lua">
<OutputPath>automation\include\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\appended-lines.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\basic-export-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\basic-tests.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\config-dialog-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\gen-absurd-t-line.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\hello-world.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\karaoke-parse-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\progress-reporting-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\selection-set-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\test-filter-name-clash.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\test-furi.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\test-tablecopy-recursive.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\test-text_extents.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\text-extents-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\trace-level-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)automation\tests\unicode-test.lua">
<OutputPath>automation\tests\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\AssDraw3.chm" />
<RarContents Include="$(AegisubSourceBase)bin\AssDraw3.exe" />
<RarContents Include="$(AegisubSourceBase)bin\DirectShowSource.dll" Condition="'$(AegisubUseAvisynth)' == 'true'" />
<RarContents Include="$(AegisubSourceBase)bin\aegisub$(AegisubPlatformSuffix).exe" />
<RarContents Include="$(AegisubSourceBase)bin\avisynth.dll" Condition="'$(AegisubUseAvisynth)' == 'true'" />
<RarContents Include="$(AegisubSourceBase)bin\csri\vsfilter-aegisub$(PlatformArchitecture).dll" Condition="'$(AegisubUseCsri)' == 'HelperLibrary'">
<OutputPath>csri\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\csri\xy-vsfilter-aegisub$(PlatformArchitecture).dll" Condition="'$(AegisubUseCsri)' == 'HelperLibrary'">
<OutputPath>csri\</OutputPath>
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\devil.dll" Condition="'$(AegisubUseAvisynth)' == 'true'" />
<RarContents Include="$(AegisubSourceBase)bin\ffms2_$(AegisubPlatformSuffix).dll" Condition="'$(AegisubUseFfms)' == 'true'" />
<RarContents Include="$(AegisubSourceBase)packages\win_installer\portable\config.json" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.CRT\msvcp110.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.CRT\msvcr110.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.MFC\mfc110u.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.MFC\mfcm110u.dll" />
</ItemGroup>
<ItemGroup>
<RarMetafiles Include="$(AegisubSourceBase)packages\win_installer\portable\icon.ico" />
<RarMetafiles Include="$(AegisubSourceBase)packages\win_installer\portable\side-logo.bmp" />
<RarMetafiles Include="$(AegisubSourceBase)packages\win_installer\portable\portable-comment.txt" />
</ItemGroup>
</Project>
Loading

0 comments on commit 28b056e

Please sign in to comment.