Add a bunch more property files for MSBuild projects

Originally committed to SVN as r5156.
This commit is contained in:
Niels Martin Hansen 2011-01-09 07:08:36 +00:00
parent c2a81a5dd7
commit 95c2649721
5 changed files with 116 additions and 0 deletions

View file

@ -0,0 +1,13 @@
<?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>
</Project>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Base for Aegisub source code -->
<AegisubSourceBase Condition="'$(AegisubSourceBase)'==''">$(MSBuildThisFileDirectory)..\..\</AegisubSourceBase>
<!-- Base for contrib libraries source code -->
<AegisubContribBase Condition="'$(AegisubContribBase)'==''">$(AegisubSourceBase)..\contrib\</AegisubContribBase>
<!-- Base for built files -->
<AegisubOutputBase Condition="'$(AegisubOutputBase)'==''">$(SolutionDir)</AegisubOutputBase>
<!-- Directory for built executables -->
<AegisubBinaryDir Condition="'$(AegisubBinaryDir)'==''">$(AegisubOutputBase)bin\</AegisubBinaryDir>
<!-- Directory for built static libraries and link libraries -->
<AegisubLibraryDir Condition="'$(AegisubLibraryDir)'==''">$(AegisubOutputBase)lib\$(Platform)\$(Configuration)\</AegisubLibraryDir>
<!-- Directory for built object files, intentionally using flat structure -->
<AegisubObjectDir Condition="'$(AegisubObjectDir)'==''">$(AegisubOutputBase)obj\$(ProjectName)-$(Platform)-$(Configuration)\</AegisubObjectDir>
<!-- Platform/configuration suffix for binaries -->
<AegisubPlatformSuffix Condition="'$(Configuration)'=='Debug'">$(PlatformArchitecture)d</AegisubPlatformSuffix>
<AegisubPlatformSuffix Condition="'$(Configuration)'=='Release'">$(PlatformArchitecture)</AegisubPlatformSuffix>
<AegisubPlatformSuffix Condition="'$(AegisubPlatformSuffix)'==''">(unk)</AegisubPlatformSuffix> <!-- fallback -->
</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">
<PropertyGroup>
<OutDir Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='Application'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='StaticLibrary'">$(AegisubLibraryDir)</OutDir>
<IntDir>$(AegisubObjectDir)</IntDir>
<TargetName>$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<Link>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<ImportLibrary>$(AegisubLibraryDir)$(ProjectName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
</Project>

View file

@ -0,0 +1,47 @@
<?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>
<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)'=='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

@ -27,3 +27,18 @@ file that specifies a wxWidgets location:
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