Small beginnings of MSBuild-based build system, for Visual Studio 2010/Windows 7.1 SDK.
So far proof of concept building just the respack program, using a semi-generalised form of finding wxWidgets. For it to find wxWidgets, a user configuration needs to be placed in the userconfig dir, see readme.txt. Originally committed to SVN as r4954.
This commit is contained in:
parent
a2513f03a7
commit
d63a646c2a
4 changed files with 161 additions and 0 deletions
73
aegisub/build/msbuild/respack/respack.vcxproj
Normal file
73
aegisub/build/msbuild/respack/respack.vcxproj
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?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="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{08AF2BCC-FCDD-4F0E-8B41-59A6E634F2E8}</ProjectGuid>
|
||||||
|
<RootNamespace>respack</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||||
|
<UseDebugLibraries Condition="'$(Configuration)'=='Release'">false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization Condition="'$(Configuration)'=='Release'">true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Project="$(MSBuildThisFileDir)..\userconfig\*.props" />
|
||||||
|
<Import Project="$(MSBuildThisFileDir)..\wx.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<OutDir>$(ProjectDir)</OutDir>
|
||||||
|
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||||
|
<TargetName>respackd</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<OutDir>$(ProjectDir)</OutDir>
|
||||||
|
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||||
|
<TargetName>respack</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\tools\common-respack.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
22
aegisub/build/msbuild/respack/respack.vcxproj.filters
Normal file
22
aegisub/build/msbuild/respack/respack.vcxproj.filters
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\tools\common-respack.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
29
aegisub/build/msbuild/userconfig/readme.txt
Normal file
29
aegisub/build/msbuild/userconfig/readme.txt
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
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>
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
You should not check files placed in this folder into source control.
|
||||||
|
|
||||||
|
Files must be named *.props to be used.
|
37
aegisub/build/msbuild/wx.props
Normal file
37
aegisub/build/msbuild/wx.props
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<?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>
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
$(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>
|
||||||
|
</Project>
|
Loading…
Reference in a new issue