Prettify the property files a bit and add some real sample files for the userconfig dir.

Originally committed to SVN as r5161.
This commit is contained in:
Niels Martin Hansen 2011-01-10 17:46:15 +00:00
parent 5f7fbf48c6
commit 0d6edabbdc
9 changed files with 197 additions and 145 deletions

View File

@ -1,13 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- 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>
<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

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Aegisub build path definitions</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<!-- Base for Aegisub source code -->
<AegisubSourceBase Condition="'$(AegisubSourceBase)'==''">$(MSBuildThisFileDirectory)..\..\</AegisubSourceBase>

View File

@ -1,25 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutDir Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='Application'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='StaticLibrary'">$(AegisubLibraryDir)</OutDir>
<IntDir>$(AegisubObjectDir)</IntDir>
<TargetName Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='StaticLibrary'">$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<Link>
<OutputFile>$(AegisubBinaryDir)$(TargetName)$(TargetExt)</OutputFile>
<ProgramDatabaseFile>$(AegisubBinaryDir)$(TargetName).pdb</ProgramDatabaseFile>
<ImportLibrary>$(AegisubLibraryDir)$(ProjectName).lib</ImportLibrary>
</Link>
<Lib>
<OutputFile>$(AegisubLibraryDir)$(ProjectName).lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<PropertyGroup>
<_PropertySheetDisplayName>Aegisub build output directories</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='Application'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='StaticLibrary'">$(AegisubLibraryDir)</OutDir>
<IntDir>$(AegisubObjectDir)</IntDir>
<TargetName Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='StaticLibrary'">$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<Link>
<OutputFile>$(AegisubBinaryDir)$(TargetName)$(TargetExt)</OutputFile>
<ProgramDatabaseFile>$(AegisubBinaryDir)$(TargetName).pdb</ProgramDatabaseFile>
<ImportLibrary>$(AegisubLibraryDir)$(ProjectName).lib</ImportLibrary>
</Link>
<Lib>
<OutputFile>$(AegisubLibraryDir)$(ProjectName).lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
</Project>

View File

@ -1,47 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>Aegisub build compiler settings</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LargeAddressAware>true</LargeAddressAware>
<TerminalServerAware Condition="'$(ConfigurationType'=='Application'">true</TerminalServerAware>
</Link>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LargeAddressAware>true</LargeAddressAware>
<TerminalServerAware Condition="'$(ConfigurationType'=='Application'">true</TerminalServerAware>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
Use this file as a template for configuring the location of the
Freetype 2 library for the Aegisub build system.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Ft2IncludePath defines where the Freetype 2 include files are found -->
<Ft2IncludePath>C:\Dev\freetype-2.4.3\include</Ft2IncludePath>
<!-- Ft2LibraryPath defines where the Freetype 2 library files are found -->
<Ft2LibraryPath>C:\Dev\freetype-2.4.3\objs\win32\vc2010</Ft2LibraryPath>
<!-- Ft2LibraryName defines the name of the library to use for linking Freetype 2.
This will often be conditional on platform and configuration. -->
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='Win32|Debug'" >freetype2.4.3_32d.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='Win32|Release'">freetype2.4.3_32.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='x64|Debug'" >freetype2.4.3_64d.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='x64|Release'" >freetype2.4.3_64.lib</Ft2LibraryName>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
This file shows how you can control where the build system places
produced files by overriding the properties defined by paths.props.
Most people will not need this.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Base directory for placing built files in -->
<AegisubOutputBase>C:\Dev\Aegisub\BuildFiles\</AegisubSourceBase>
<!-- Executable files are placed here, essentially creating an installation -->
<AegisubBinaryDir>C:\Dev\Aegisub\BuiltBinaries\$(Platform)\</AegisubContribBase>
</PropertyGroup>
</Project>

View File

@ -1,44 +1,12 @@
You can put MSBuild property files in this folder to override the default
build configuration for Aegisub's build system.
There is one configuration you almost guaranteed will want to override,
this is for the location of wxWidgets. Here is an example of a property
file that specifies a wxWidgets location:
-------------- mywx.props --------------
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Set a helper property, to make the remaining property definitions shorter.
The WxBasePath property is not used by Aegisub's build system. -->
<WxBasePath>G:\Dev\wxWidgets-2.9\install-vc10</WxBasePath>
<!-- Specify WxLibraryPath, the location where the link libraries for wxWidgets
are located. The location depends on the Platform variable.
These library paths are also used to deduce the location of the configuration
header file for the specific builds. -->
<WxLibraryPath Condition="'$(Platform)'=='Win32'">$(WxBasePath)\lib32</WxLibraryPath>
<WxLibraryPath Condition="'$(Platform)'=='x64'">$(WxBasePath)\lib64</WxLibraryPath>
<!-- Specify where the wxWidgets include files are found. -->
<WxIncludePath>$(WxBasePath)\include</WxIncludePath>
</PropertyGroup>
</Project>
----------------------------------------
A number of sample files are provided. These can be copied and used as
templates for common configuration. Importantly, configuring the location
of several library dependencies.
The copied sample files should be renamed to *.props, otherwise they will
not be found by the build system.
You should not check files placed in this folder into source control.
Files must be named *.props to be used.
Other properties of interest:
Ft2IncludePath - Path to Freetype2 include files
Ft2LibraryPath - Path to Freetype2 lib files
Ft2LibraryName - Name of Freetype2 library to link
These may be useful to override in some cases, but the defaults should be fine for most:
AegisubOutputBase - Base directory for output files from compilation, defaults to solution file location
AegisubBinaryDir - Where executables are placed, derived from AegisubOutputBase by default
AegisubLibraryDir - Where lib files are placed, derived from AegisubOutputBase by default
AegisubObjectDir - Where intermediary files are placed, derived from AegisubOutputBase by default
Files must be named *.props to be found by the build system.

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
Use this file as a template for configuring the location of wxWidgets
for the Aegisub build system.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Helper property, defines the base directory for wxWidgets -->
<WxBasePath>C:\Dev\wxWidgets-2.9\install-vc10</WxBasePath>
<!-- WxLibraryPath defines the location of the wxWidgets .lib files.
Two conditional values are given, depending on the platform. -->
<WxLibraryPath Condition="'$(Platform)'=='Win32'">$(WxBasePath)\lib32</WxLibraryPath>
<WxLibraryPath Condition="'$(Platform)'=='x64'">$(WxBasePath)\lib64</WxLibraryPath>
<!-- WxIncludePath defines the location of the wxWidgets include files. -->
<WxIncludePath>$(WxBasePath)\include</WxIncludePath>
</PropertyGroup>
</Project>

View File

@ -1,37 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Some helper affixes -->
<PropertyGroup>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Debug'">d</WxLibDbgSuffix>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Release'"></WxLibDbgSuffix>
<WxLibBase>wxbase29u$(WxLibDbgSuffix)</WxLibBase>
<WxLibMsw>wxmsw29u$(WxLibDbgSuffix)</WxLibMsw>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>wxWidgets support</_PropertySheetDisplayName>
</PropertyGroup>
<!-- Tell the compiler where to search for wx headers and libraries -->
<PropertyGroup>
<IncludePath>$(WxLibraryPath)\mswu$(WxLibDbgSuffix)\;$(WxIncludePath);$(IncludePath)</IncludePath>
<LibraryPath>$(WxLibraryPath);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<!-- Some helper affixes -->
<PropertyGroup>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Debug'">d</WxLibDbgSuffix>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Release'"></WxLibDbgSuffix>
</PropertyGroup>
<!-- Tell the linker to use the appropriate wx libraries -->
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>
$(WxLibBase).lib;
$(WxLibBase)_net.lib;
$(WxLibBase)_xml.lib;
$(WxLibMsw)_core.lib;
$(WxLibMsw)_adv.lib;
$(WxLibMsw)_gl.lib;
$(WxLibMsw)_stc.lib;
wxscintilla$(WxLibDbgSuffix).lib;
wxzlib$(WxLibDbgSuffix).lib;
wxexpat$(WxLibDbgSuffix).lib;
wxregexu$(WxLibDbgSuffix).lib;
wxpng$(WxLibDbgSuffix).lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Tell the compiler where to search for wx headers and libraries -->
<PropertyGroup>
<IncludePath>$(WxLibraryPath)\mswu$(WxLibDbgSuffix)\;$(WxIncludePath);$(IncludePath)</IncludePath>
<LibraryPath>$(WxLibraryPath);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<!-- Tell the linker to use the appropriate wx libraries -->
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>
wxbase29u$(WxLibDbgSuffix).lib;
wxbase29u$(WxLibDbgSuffix)_net.lib;
wxbase29u$(WxLibDbgSuffix)_xml.lib;
wxmsw29u$(WxLibDbgSuffix)_core.lib;
wxmsw29u$(WxLibDbgSuffix)_adv.lib;
wxmsw29u$(WxLibDbgSuffix)_gl.lib;
wxmsw29u$(WxLibDbgSuffix)_stc.lib;
wxscintilla$(WxLibDbgSuffix).lib;
wxzlib$(WxLibDbgSuffix).lib;
wxexpat$(WxLibDbgSuffix).lib;
wxregexu$(WxLibDbgSuffix).lib;
wxpng$(WxLibDbgSuffix).lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>