-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathMM2Hook.Common.targets
93 lines (93 loc) · 4.54 KB
/
MM2Hook.Common.targets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="FixupIncludes" BeforeTargets="ResolveReferences">
<ItemGroup>
<!--
Make sure included c/cpp files don't get compiled.
This is to make sure a problem that occurred before never happens again.
-->
<ClInclude>
<FileType Condition="'%(ClInclude.Extension)' == '.c' or '%(ClInclude.Extension)' == '.cpp'">CppHeader</FileType>
</ClInclude>
</ItemGroup>
</Target>
<!-- Tidy up the ASM files a bit -->
<Target Name="MoveLuaASMFiles" AfterTargets="Link">
<PropertyGroup>
<LuaASMFolder>$(ASMOutputPath)lua\</LuaASMFolder>
</PropertyGroup>
<ItemGroup>
<LuaSources Include="src\lua\*.c" />
<LuaASMFiles Include="@(LuaSources->'$(ASMOutputPath)%(Filename).asm')" />
</ItemGroup>
<Message Text="Moving Lua ASM files..." Importance="High" Condition="'@(LuaASMFiles)' != ''" />
<Move SourceFiles="@(LuaASMFiles)" DestinationFolder="$(LuaASMFolder)" Condition="Exists('%(Identity)')">
<Output ItemName="LuaMoved" TaskParameter="MovedFiles" />
</Move>
<Message Text=" - Files successfully moved to '$(LuaASMFolder)'" Importance="High" Condition="'@(LuaMoved)' != ''" />
</Target>
<!-- Get MM2 directory if config file present -->
<Target Name="GetMM2Dir" AfterTargets="Build">
<PropertyGroup>
<CfgFilename>mm2.cfg</CfgFilename>
</PropertyGroup>
<ReadLinesFromFile File="$(CfgFilename)" Condition="Exists('$(CfgFilename)')">
<Output PropertyName="MM2Directory" TaskParameter="Lines" />
</ReadLinesFromFile>
<Message Text="Found directory configuration file." Importance="High" Condition="'$(MM2Directory)' != ''" />
</Target>
<!-- DirectInput target settings -->
<Target Name="CopyDInputFiles" AfterTargets="Build">
<PropertyGroup>
<TargetPath_PDB>$(TargetDir)$(TargetName).pdb</TargetPath_PDB>
<DITargetDir>$(OutDir)out\</DITargetDir>
<DITargetName>dinput</DITargetName>
</PropertyGroup>
<ItemGroup>
<!-- Get DLL and PDB -->
<DITargetFiles Include="$(TargetPath);$(TargetPath_PDB)" />
</ItemGroup>
<Error Text="Couldn't find compiled DLL/PDB files!" Condition="'@(DITargetFiles)' == ''" />
<Message Text="Copying DirectInput8 DLL/PDB files:" Importance="High" />
<Copy SourceFiles="@(DITargetFiles)" DestinationFiles="@(DITargetFiles->'$(DITargetDir)$(DITargetName)%(Extension)')">
<Output ItemName="DIFile" TaskParameter="CopiedFiles" />
</Copy>
<Message Text=" - %(DIFile.Identity)" Importance="High" />
</Target>
<!-- Lua target settings -->
<Target Name="CopyLuaScripts" AfterTargets="CopyDInputFiles">
<PropertyGroup>
<LuaScriptsDir>$(ProjectDir)lua\**\</LuaScriptsDir>
<LuaTargetDir>$(OutDir)out\lua\</LuaTargetDir>
</PropertyGroup>
<ItemGroup>
<LuaTargetFiles Include="$(LuaScriptsDir)*.*" />
</ItemGroup>
<Error Text="Couldn't find any Lua scripts!" Condition="'@(LuaTargetFiles)' == ''" />
<Message Text="Copying Lua scripts:" Importance="High" />
<Copy SourceFiles="@(LuaTargetFiles)" DestinationFiles="@(LuaTargetFiles->'$(LuaTargetDir)%(RecursiveDir)%(Filename)%(Extension)')">
<Output ItemName="LuaFile" TaskParameter="CopiedFiles" />
</Copy>
<Message Text=" - %(LuaFile.Identity)" Importance="High" />
</Target>
<!-- Dependency target settings -->
<Target Name="CopyHookFiles" AfterTargets="CopyLuaScripts">
<ItemGroup>
<HookTargetFiles Include="$(TargetDir)mm2hook.ini" />
</ItemGroup>
<Error Text="Couldn't find any dependency files!" Condition="'@(HookTargetFiles)' == ''" />
<Message Text="Copying dependencies:" Importance="High" />
<Copy SourceFiles="@(HookTargetFiles)" DestinationFiles="@(HookTargetFiles->'$(DITargetDir)%(Filename)%(Extension)')">
<Output ItemName="HookFile" TaskParameter="CopiedFiles" />
</Copy>
<Message Text=" - %(HookFile.Identity)" Importance="High" />
</Target>
<!-- Move compiled files to MM2 directory (if applicable) -->
<Target Name="CopyFilesToMM2" AfterTargets="CopyHookFiles" Condition="'$(MM2Directory)' != '' and Exists('$(MM2Directory)')">
<ItemGroup>
<MM2TargetFiles Include="$(DITargetDir)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(MM2TargetFiles)" DestinationFiles="@(MM2TargetFiles->'$(MM2Directory)%(RecursiveDir)%(Filename)%(Extension)')" />
<Message Text="Sucessfully copied files to Midtown Madness 2 directory ($(MM2Directory))" Importance="High" />
</Target>
</Project>