Super fancy property pages for configuring the build in VC10. Doesn't want to display the defaults (properly) but that's not so important :)

Originally committed to SVN as r5243.
This commit is contained in:
Niels Martin Hansen 2011-01-19 06:40:23 +00:00
parent dd24ffac89
commit 0762422b20
8 changed files with 489 additions and 98 deletions

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Default settings for build-time options -->
<PropertyGroup>
<AegisubUseConfigWindowsH Condition="'$(AegisubUseConfigWindowsH)'==''">true</AegisubUseConfigWindowsH>
<AegisubUseAutomationLua Condition="'$(AegisubUseAutomationLua)'==''">true</AegisubUseAutomationLua>
<AegisubUseDSound Condition="'$(AegisubUseDSound)'==''">true</AegisubUseDSound>
<DirectXSDKPath Condition="'$(DirectXSDKPath)'==''">$(DXSDK_DIR)</DirectXSDKPath>
<AegisubUseAvisynth Condition="'$(AegisubUseAvisynth)|$(Platform)'=='|Win32'">true</AegisubUseAvisynth>
<AegisubUseAvisynth Condition="'$(AegisubUseAvisynth)|$(Platform)'=='|x64'">false</AegisubUseAvisynth>
<AegisubUseFfms Condition="'$(AegisubUseFfms)'==''">true</AegisubUseFfms>
<FFmpegSourceIncludePath Condition="'$(FFmpegSourceIncludePath)'==''">$(AegisubSourceBase)libffms\include\</FFmpegSourceIncludePath>
<FFmpegSourceLibraryPath Condition="'$(FFmpegSourceLibraryPath)'==''">$(AegisubSourceBase)libffms\lib\</FFmpegSourceLibraryPath>
<FFmpegSourceLibraryName Condition="'$(FFmpegSourceLibraryName)'==''">ffms2.lib</FFmpegSourceLibraryName>
<AegisubUseFt2 Condition="'$(AegisubUseFt2)'==''">true</AegisubUseFt2>
<AegisubUseHunspell Condition="'$(AegisubUseHunspell)'==''">true</AegisubUseHunspell>
<AegisubUseFftw Condition="'$(AegisubUseFftw)'==''">false</AegisubUseFftw>
<AegisubUseLibass Condition="'$(AegisubUseLibass)'==''">false</AegisubUseLibass>
<AegisubUseCsri Condition="'$(AegisubUseCsri)'==''">HelperLibrary</AegisubUseCsri>
<CsriLibraryName Condition="'$(CsriLibraryName)'==''">vsfilter.lib</CsriLibraryName>
<AegisubSpecialBuild Condition="'$(AegisubSpecialBuild)'==''">false</AegisubSpecialBuild>
</PropertyGroup>
</Project>

View File

@ -32,6 +32,7 @@
$Id$
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Update svn revision data file-target -->
<PropertyGroup>
<TSVNDir Condition="'$(TSVNDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseSVN@Directory)</TSVNDir>
<TSVNDir Condition="'$(TSVNDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TortoiseSVN@Directory)</TSVNDir>
@ -39,7 +40,6 @@
<SubWCRevExe Condition="'$(SubWCRevExe)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe)</SubWCRevExe>
<SubWCRevExe Condition="'$(SubWCRevExe)'==''">$(TSVNDir)\bin\SubWCRev.exe</SubWCRevExe>
</PropertyGroup>
<Target
Name="SubWCRev"
BeforeTargets="ClCompile"
@ -62,7 +62,19 @@
Outputs="%(SubWCRevExe.Output)"
/>
</Target>
<ItemDefinitionGroup>
<SubWCRev>
<InputFile >$(AegisubSourceBase)build\svn-revision-base.h</InputFile>
<OutputFile>$(AegisubSourceBase)build\svn-revision.h</OutputFile>
<Repository>$(AegisubSourceBase)\.</Repository>
</SubWCRev>
</ItemDefinitionGroup>
<ItemGroup>
<SubWCRev Include="$(AegisubSourceBase)build\svn-revision-base.h" />
</ItemGroup>
<!-- Create build configuration file if it does not exist-target -->
<Target
Name="CreateDefaultConfigurationHeader"
BeforeTargets="PrepareForBuild"
@ -89,15 +101,194 @@
Text="Created %(CreateDefaultConfigurationHeader.TargetFile)"
/>
</Target>
<!-- Default configuration -->
<Import Project="$(MSBuildThisFileDirectory)Aegisub.DefaultConfiguration.props" />
<!-- Build credit text -->
<PropertyGroup Condition="'$(AegisubUseConfigWindowsH)'=='false' and '$(AegisubBuildCredit)'==''">
<AegisubBuildCredit>Anonymous</AegisubBuildCredit>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(AegisubBuildCredit)'!=''">
<ClCompile>
<PreprocessorDefinitions>BUILD_CREDIT="$(AegisubBuildCredit)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Skip config_windows.h support -->
<ItemDefinitionGroup Condition="'$(AegisubUseConfigWindowsH)'=='false'">
<ClCompile>
<PreprocessorDefinitions>BUILD_SKIP_CONFIG_WINDOWS_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Use config_windows.h support -->
<ItemGroup Condition="'$(AegisubUseConfigWindowsH)'!='false'">
<CreateDefaultConfigurationHeader Include="$(AegisubSourceBase)src\config\config_windows.h">
<TemplateFile>$(AegisubSourceBase)src\config\config_windows0.h</TemplateFile>
<TargetFile>$(AegisubSourceBase)src\config\config_windows.h</TargetFile>
</CreateDefaultConfigurationHeader>
</ItemGroup>
<!-- Automation Lua support -->
<ItemDefinitionGroup Condition="'$(AegisubUseAutomationLua)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_AUTOMATION;WITH_AUTO4_LUA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(AegisubContribBase)lua51\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>lua51.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Hunspell support -->
<ItemDefinitionGroup Condition="'$(AegisubUseHunspell)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_HUNSPELL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(AegisubContribBase)hunspell\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>hunspell.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- CSRI helper library support -->
<ItemDefinitionGroup Condition="'$(AegisubUseCsri)'=='HelperLibrary'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_CSRI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>csrihelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- CSRI external library support -->
<ItemDefinitionGroup Condition="'$(AegisubUseCsri)'=='External'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_CSRI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(CsriLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(CsriLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- libass support -->
<ItemDefinitionGroup Condition="'$(AegisubUseLibass)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_LIBASS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(LibassIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(LibassIncludePath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(LibassLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Freetype 2 support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFreetype2)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FREETYPE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Ft2IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(Ft2LibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Ft2LibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- FFmpegSource support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFfms)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FFMPEGSOURCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>__STDC_FORMAT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <!-- this one is needed regardless -->
<AdditionalIncludeDirectories>$(FFmpegSourceIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(FFmpegSourceLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(FFmpegSourceLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Avisynth support -->
<ItemDefinitionGroup Condition="'$(AegisubUseAvisynth)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_AVISYNTH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- FFTW support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFftw)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FFTW;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(FftwIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(FftwLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(FftwLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- DirectSound support -->
<PropertyGroup>
<DirectXSDKDir Condition="'$(DirectXSDKDir)'==''">$(DXSDK_DIR)</DirectXSDKDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(AegisubUseDSound)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_DIRECTSOUND;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DXSDK_DIR)\Include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(DirectXSDKDir)\Lib\x86\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(DirectXSDKDir)\Lib\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>dsound.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target Name="AegisubCheckDirectXSDK" BeforeTargets="PrepareForBuild" >
<Error
Condition="'$(DirectXSDKDir)'=='' or !Exists('$(DirectXSDKDir)\Include\dsound.h')"
Text="DirectX SDK not found, check that the DXSDK_DIR environment is set. If you do not want to use DirectSound set the AegisubUseDSound property to false in a user config."
/>
</Target>
<ItemGroup Condition="'$(AegisubUseDSound)'=='true'">
<AegisubCheckDirectXSDK Include="dsound" />
</ItemGroup>
<!-- Special builds -->
<ItemDefinitionGroup Condition="'$(AegisubUseConfigWindowsH)'=='false'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubSpecialBuild)'=='FinalRelease'">FINAL_RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(AegisubSpecialBuild)'=='StartupLog'">WITH_STARTUPLOG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- General configuration, always required libraries -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>HAVE_LITTLE_ENDIAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>
$(SrcDir)include\;
$(SrcDir)msvc\;
$(AegisubContribBase)iconv\include;
$(AegisubSourceBase)libaegisub\include;
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(AegisubLibraryDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>
libiconv.lib;
libresrc.lib;
libaegisub.lib;
universalchardet.lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Add property pages -->
<ItemGroup>
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Aegisub.xml" />
<ProjectTools Include="SubWCRev;CreateDefaultConfigurationHeader" />

View File

@ -37,61 +37,16 @@
<!-- Project specific configuration -->
<Import Project="$(MSBuildThisFileDirectory)Aegisub.targets" />
<PropertyGroup>
<TargetName>aegisub$(AegisubPlatformSuffix)</TargetName>
<TargetName>aegisub$(AegisubPlatformSuffix)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<SubWCRev>
</SubWCRev>
<ClCompile>
<PreprocessorDefinitions>__STDC_FORMAT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>
$(SrcDir);
$(SrcDir)include\;
$(SrcDir)msvc\;
$(AegisubContribBase)lua51\src;
$(AegisubContribBase)hunspell\src;
$(AegisubContribBase)iconv\include;
$(AegisubSourceBase)libffms\include;
$(AegisubSourceBase)libaegisub\include;
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>agi_pre.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>agi_pre.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>
$(AegisubLibraryDir);
$(AegisubSourceBase)libffms\lib;
%(AdditionalLibraryDirectories)
</AdditionalLibraryDirectories>
<AdditionalDependencies>
libresrc.lib;
lua51.lib;
libiconv.lib;
libaegisub.lib;
hunspell.lib;
universalchardet.lib;
ffms2.lib;
csrihelper.lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
<SubWCRev>
<InputFile >$(AegisubSourceBase)build\svn-revision-base.h</InputFile>
<OutputFile>$(AegisubSourceBase)build\svn-revision.h</OutputFile>
<Repository>$(AegisubSourceBase)\.</Repository>
</SubWCRev>
<CreateDefaultConfigurationHeader>
<TemplateFile>$(AegisubSourceBase)src\config\config_windows0.h</TemplateFile>
<TargetFile>$(AegisubSourceBase)src\config\config_windows.h</TargetFile>
</CreateDefaultConfigurationHeader>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<SubWCRev Include="$(AegisubSourceBase)build\svn-revision-base.h" />
<CreateDefaultConfigurationHeader Include="$(AegisubSourceBase)src\config\config_windows.h" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)aegisublocale.h" />
<ClInclude Include="$(SrcDir)aegisub_endian.h" />

View File

@ -33,14 +33,249 @@
-->
<Rule Name="SubWCRev"
DisplayName="Aegisub"
Order="110"
Order="1"
PageTemplate="tool"
xmlns="http://schemas.microsoft.com/build/2009/properties">
<Rule.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</Rule.DataSource>
<Rule.Categories>
<Category Name="Features" DisplayName="Features" Description="Control features to build" />
<Category Name="Paths" DisplayName="Library paths" Description="Configure third-party library paths" />
<Category Name="BuildInfo" DisplayName="Build information" Description="Embed build information" />
</Rule.Categories>
<BoolProperty
Name="AegisubUseConfigWindowsH"
Category="Features"
DisplayName="Use config_windows.h"
Description="Specify whether to use config_windows.h or the configuration on this page to control features. The settings on this page still control automatic compiler and link settings for the features."
/>
<BoolProperty
Name="AegisubUseAutomationLua"
Category="Features"
DisplayName="Use Automation 4 Lua"
Description="Specify whether to include Automation 4 support and the Lua engine. This is included and requires no configuration."
/>
<BoolProperty
Name="AegisubUseDSound"
Category="Features"
DisplayName="Use DirectSound"
Description="Specify whether to use the DirectSound-based audio player. This requires the DirectX SDK installed."
/>
<StringProperty
Subtype="folder"
Name="DirectXSDKPath"
Category="Paths"
DisplayName="DirectX SDK root path"
Description="Location of DirectX SDK installation for DirectSound support, this is usually auto-detected."
/>
<BoolProperty
Name="AegisubUseAvisynth"
Category="Features"
DisplayName="Use Avisynth"
Description="Specify whether to support Avisynth for video and audio providers. This is experimental on x64."
/>
<BoolProperty
Name="AegisubUseFfms"
Category="Features"
DisplayName="Use FFmpegSource2"
Description="Specify whether to support FFmpegSource2 for video and audio providers. You may need to configure the location of the library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="FFmpegSourceIncludePath"
Category="Paths"
DisplayName="FFmpegSource2 include path"
Description="Location of FFmpegSource2 include files"
/>
<StringProperty
Subtype="folder"
Name="FFmpegSourceLibraryPath"
Category="Paths"
DisplayName="FFmpegSource2 library path"
Description="Location of FFmpegSource2 library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="FFmpegSourceLibraryName"
Category="Paths"
DisplayName="FFmpegSource2 library name"
Description="Name of FFmpegSource2 library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseFt2"
Category="Features"
DisplayName="Use Freetype 2"
Description="Specify whether to use Freetype 2 for font enumeration in the Font Collector. You will need to configure the location of the Freetype 2 library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="Ft2IncludePath"
Category="Paths"
DisplayName="Freetype 2 include path"
Description="Location of Freetype 2 include files"
/>
<StringProperty
Subtype="folder"
Name="Ft2LibraryPath"
Category="Paths"
DisplayName="Freetype 2 library path"
Description="Location of Freetype 2 library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="Ft2LibraryName"
Category="Paths"
DisplayName="Freetype 2 library name"
Description="Name of Freetype 2 library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseHunspell"
Category="Features"
DisplayName="Use Hunspell"
Description="Specify whether to use the Hunspell spell checker library. This is included and requires no configuration."
/>
<BoolProperty
Name="AegisubUseFftw"
Category="Features"
DisplayName="Use FFTW"
Description="Specify whether to use the FFTW fourier transformation library to speed up audio spectrum rendering. You will need to configure the location of the FFTW library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="FftwIncludePath"
Category="Paths"
DisplayName="FFTW include path"
Description="Location of FFTW include files"
/>
<StringProperty
Subtype="folder"
Name="FftwLibraryPath"
Category="Paths"
DisplayName="FFTW library path"
Description="Location of FFTW library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="FftwLibraryName"
Category="Paths"
DisplayName="FFTW library name"
Description="Name of FFTW library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseLibass"
Category="Features"
DisplayName="Use libass"
Description="Specify whether to include support for the libass subtitle rendering library. You will need to configure the location of libass on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="LibassIncludePath"
Category="Paths"
DisplayName="libass include path"
Description="Location of libass include files"
/>
<StringProperty
Subtype="folder"
Name="LibassLibraryPath"
Category="Paths"
DisplayName="libass library path"
Description="Location of libass library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="LibassLibraryName"
Category="Paths"
DisplayName="libass library name"
Description="Name of libass library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<EnumProperty
Name="AegisubUseCsri"
DisplayName="Use CSRI subtitle renderer"
Description="Specify whether to include support for CSRI subtitle rendering. The included helper library dynamically loads CSRI renderers, while linking another library allows you to e.g. link VSFilter.dll directly."
Category="Features"
>
<EnumValue Name="HelperLibrary" DisplayName="Use included helper library" Description="Use the included helper library to dynamically load CSRI renderers." />
<EnumValue Name="External" DisplayName="Link other library" Description="Use another CSRI renderer" />
<EnumValue Name="false" DisplayName="No CSRI support" Description="Do not use CSRI" />
</EnumProperty>
<StringProperty
Subtype="folder"
Name="CsriLibraryPath"
Category="Paths"
DisplayName="External CSRI library path"
Description="Location of external CSRI library files, for when not using the CSRI helper library."
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="CsriLibraryName"
Category="Paths"
DisplayName="External CSRI library name"
Description="Name of external CSRI library, for when not using the CSRI helper library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<EnumProperty
Name="AegisubSpecialBuild"
DisplayName="Special build"
Description="Make a special build of Aegisub, either enabling StartupLog to help end-users debug startup issues, or a Final Release whch displays version information differently."
Category="Features"
>
<EnumValue Name="false" DisplayName="Make a regular build" Description="A regular developer build is made" />
<EnumValue Name="StartupLog" DisplayName="Start-up logging" Description="Show messages during start-up to figure out where an error occurs" />
<EnumValue Name="FinalRelease" DisplayName="Final release" Description="Shows version information in a manner suited for stable releases for general distribution." />
</EnumProperty>
<StringProperty
Name="AegisubBuildCredit"

View File

@ -22,9 +22,7 @@
<Import Project="$(MSBuildThisFileDirectory)paths.props" />
<Import Project="$(MSBuildThisFileDirectory)standard-settings.props" />
<Import Project="$(MSBuildThisFileDirectory)standard-outdirs.props" />
<Import Project="$(MSBuildThisFileDirectory)ft2.props" Condition="'$(AegisubUseFreetype)' == 'true'" />
<Import Project="$(MSBuildThisFileDirectory)wx.props" Condition="'$(AegisubUseWxWidgets)' == 'true'" />
<Import Project="$(MSBuildThisFileDirectory)directx.props" Condition="'$(AegisubUseDSound)' == 'true'" />
</ImportGroup>
<!-- The standard targets need to go last for all paths to be proper -->

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>DirectSound support</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<DirectXSDKDir Condition="'$(DirectXSDKDir)'==''">$(DXSDK_DIR)</DirectXSDKDir>
<IncludePath>$(DXSDK_DIR)\Include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Platform)'=='Win32'">$(DirectXSDKDir)\Lib\x86;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='x64'" >$(DirectXSDKDir)\Lib\x64;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>dsound.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target
Name="AegisubCheckDirectXSDK"
BeforeTargets="PrepareForBuild"
>
<Error
Condition="'$(DirectXSDKDir)'=='' or !Exists('$(DirectXSDKDir)\Include\dsound.h')"
Text="DirectX SDK not found, check that the DXSDK_DIR environment is set. If you do not want to use DirectSound set the AegisubUseDSound property to false in a user config."
/>
</Target>
<ItemGroup>
<AegisubCheckDirectXSDK Include="dsound" />
</ItemGroup>
</Project>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Freetype 2 support</_PropertySheetDisplayName>
</PropertyGroup>
<!-- Include and link Freetype 2 based on some user properties -->
<PropertyGroup>
<IncludePath>$(Ft2IncludePath);$(IncludePath)</IncludePath>
<LibraryPath>$(Ft2LibraryPath);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>$(Ft2LibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -9,7 +9,9 @@
#define max max
// Windows specific settings
#ifndef BUILD_SKIP_CONFIG_WINDOWS_H
#include "config/config_windows.h"
#endif
#else