mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-06 06:32:56 +01:00
Make the g2 task shared, remove duplication
This commit is contained in:
@@ -8,9 +8,6 @@
|
||||
- OPENRCT2_DESCRIBE
|
||||
-->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||
<!-- Import custom build tasks -->
|
||||
<Import Project="openrct2.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
|
||||
<Platform Condition="'$(Platform)'==''">x64</Platform>
|
||||
@@ -27,7 +24,6 @@
|
||||
<TargetDir>$(RootDir)bin\</TargetDir>
|
||||
|
||||
<OutputExe>$(TargetDir)openrct2.exe</OutputExe>
|
||||
<g2Output>$(TargetDir)data\g2.dat</g2Output>
|
||||
|
||||
<!-- Set openrct2.sln properties -->
|
||||
<SlnProperties>$(SlnProperties);Platform=$(Platform)</SlnProperties>
|
||||
@@ -55,10 +51,6 @@
|
||||
<ReplaysSha1>6061B53DE346BD853BB997E635AC7374B1A7D2F0</ReplaysSha1>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<g2Inputs Include="$(RootDir)resources\g2\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="DownloadLibs">
|
||||
<!-- libs -->
|
||||
<DownloadDependency Name="Libs"
|
||||
@@ -75,7 +67,7 @@
|
||||
<Delete Files="@(CleanItems)" />
|
||||
<Delete Files="$(DependenciesCheckFile)" />
|
||||
<RemoveDir Directories="$(TargetDir)data" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Clean" Properties="$(SlnProperties)" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Clean" Properties="$(SlnProperties);IsSolutionBuild=true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BeforeBuild" BeforeTargets="Build;Rebuild" DependsOnTargets="DownloadLibs">
|
||||
@@ -97,24 +89,14 @@
|
||||
<SlnProperties>$(SlnProperties);Configuration=$(Configuration)</SlnProperties>
|
||||
</PropertyGroup>
|
||||
<Message Text="SlnProperties: $(SlnProperties)" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Build" Properties="$(SlnProperties)" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Build" Properties="$(SlnProperties);IsSolutionBuild=true" />
|
||||
</Target>
|
||||
<Target Name="Rebuild">
|
||||
<PropertyGroup>
|
||||
<SlnProperties>$(SlnProperties);Configuration=$(Configuration)</SlnProperties>
|
||||
</PropertyGroup>
|
||||
<Message Text="SlnProperties: $(SlnProperties)" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Rebuild" Properties="$(SlnProperties)" />
|
||||
</Target>
|
||||
|
||||
<!-- Target to build g2.dat containing OpenRCT2 sprites -->
|
||||
<!-- Only Arm64 machines will build g2.dat for Arm64 -->
|
||||
<!-- Note: Arm64 machines can build for x86, x64 and Arm64 -->
|
||||
<Target Name="g2" AfterTargets="Build" Inputs="@(g2Inputs)" Outputs="$(g2Output)"
|
||||
Condition="'$(TestConfig)'!='true' and ('$(Platform)'!='ARM64' or '$(PROCESSOR_ARCHITECTURE)'=='ARM64')">
|
||||
<Message Text="Building g2.dat..." Importance="high" />
|
||||
<Exec Command=""$(OutputExe)" sprite build "$(g2Output)" "$(RootDir)resources\g2\sprites.json""
|
||||
StandardOutputImportance="normal" />
|
||||
<MSBuild Projects="openrct2.sln" Targets="Rebuild" Properties="$(SlnProperties);IsSolutionBuild=true" />
|
||||
</Target>
|
||||
|
||||
<!-- Target to download the title sequences -->
|
||||
@@ -161,4 +143,8 @@
|
||||
CheckFile="$(DependenciesCheckFile)"
|
||||
OutputDirectory="$(TargetDir)testdata\replays" />
|
||||
</Target>
|
||||
|
||||
<!-- Import custom build tasks -->
|
||||
<Import Project="openrct2.targets" />
|
||||
|
||||
</Project>
|
||||
|
||||
121
openrct2.targets
121
openrct2.targets
@@ -329,4 +329,125 @@
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
<!-- Property Definitions with Default Values -->
|
||||
<PropertyGroup>
|
||||
<SolutionDir Condition="'$(SolutionDir)' == ''">$(MSBuildThisFileDirectory)</SolutionDir>
|
||||
<OutDir Condition="'$(OutDir)' == ''">$(SolutionDir)bin\</OutDir>
|
||||
|
||||
<!-- CLI Configuration -->
|
||||
<CLIProjectName Condition="'$(CLIProjectName)' == ''">openrct2-cli</CLIProjectName>
|
||||
<CLIProjectPath Condition="'$(CLIProjectPath)' == ''">$(SolutionDir)src\$(CLIProjectName)\$(CLIProjectName).vcxproj</CLIProjectPath>
|
||||
<G2CLIPath Condition="'$(G2CLIPath)' == ''">$(OutDir)$(CLIProjectName).exe</G2CLIPath>
|
||||
|
||||
<!-- Data Configuration -->
|
||||
<DataOutputPath Condition="'$(DataOutputPath)' == ''">$(OutDir)data\</DataOutputPath>
|
||||
|
||||
<DataLanguagePath Condition="'$(DataLanguagePath)' == ''">$(SolutionDir)data\language\</DataLanguagePath>
|
||||
<DataShadersPath Condition="'$(DataShadersPath)' == ''">$(SolutionDir)data\shaders\</DataShadersPath>
|
||||
<DataScenarioPath Condition="'$(DataScenarioPath)' == ''">$(SolutionDir)data\scenario_patches\</DataScenarioPath>
|
||||
<ResourcesG2Path Condition="'$(ResourcesG2Path)' == ''">$(SolutionDir)resources\g2\</ResourcesG2Path>
|
||||
<G2InputFile Condition="'$(G2InputFile)' == ''">$(ResourcesG2Path)sprites.json</G2InputFile>
|
||||
<DataOutputPath Condition="'$(DataOutputPath)' == ''">$(OutDir)data\</DataOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- File Group Definitions -->
|
||||
<ItemGroup>
|
||||
<G2Input Include="$(G2InputFile)" />
|
||||
|
||||
<LanguageFiles Include="$(DataLanguagePath)**\*"
|
||||
Exclude="$(DataLanguagePath)*.bak;
|
||||
$(DataLanguagePath)*.tmp" />
|
||||
|
||||
<ShaderFiles Include="$(DataShadersPath)**\*"
|
||||
Exclude="$(DataShadersPath)*.bak;
|
||||
$(DataShadersPath)*.tmp" />
|
||||
|
||||
<ScenarioPatchFiles Include="$(DataScenarioPath)**\*"
|
||||
Exclude="$(DataScenarioPath)*.bak;
|
||||
$(DataScenarioPath)*.tmp" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Target Implementations -->
|
||||
<Target Name="CopyLanguageFiles"
|
||||
AfterTargets="Build"
|
||||
BeforeTargets="CopyShaders;CopyScenarioPatches;BuildG2"
|
||||
Inputs="@(LanguageFiles)"
|
||||
Outputs="@(LanguageFiles->'$(DataOutputPath)language\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(LanguageFiles->'$(DataOutputPath)language\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(LanguageFiles)"
|
||||
DestinationFiles="@(LanguageFiles->'$(DataOutputPath)language\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedLangFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message Text="Copied language file: %(CopiedLangFiles.RecursiveDir)%(CopiedLangFiles.Filename)%(CopiedLangFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedLangFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyShaders"
|
||||
AfterTargets="CopyLanguageFiles"
|
||||
BeforeTargets="CopyScenarioPatches;BuildG2"
|
||||
Inputs="@(ShaderFiles)"
|
||||
Outputs="@(ShaderFiles->'$(DataOutputPath)shaders\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(ShaderFiles->'$(DataOutputPath)shaders\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(ShaderFiles)"
|
||||
DestinationFiles="@(ShaderFiles->'$(DataOutputPath)shaders\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedShaderFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message Text="Copied shader: %(CopiedShaderFiles.RecursiveDir)%(CopiedShaderFiles.Filename)%(CopiedShaderFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedShaderFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyScenarioPatches"
|
||||
AfterTargets="CopyShaders"
|
||||
BeforeTargets="BuildG2"
|
||||
Inputs="@(ScenarioPatchFiles)"
|
||||
Outputs="@(ScenarioPatchFiles->'$(DataOutputPath)scenario_patches\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(ScenarioPatchFiles->'$(DataOutputPath)scenario_patches\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(ScenarioPatchFiles)"
|
||||
DestinationFiles="@(ScenarioPatchFiles->'$(DataOutputPath)scenario_patches\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedScenarioFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message Text="Copied scenario patch: %(CopiedScenarioFiles.RecursiveDir)%(CopiedScenarioFiles.Filename)%(CopiedScenarioFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedScenarioFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="g2"
|
||||
AfterTargets="CopyScenarioPatches"
|
||||
Inputs="@(G2Input)"
|
||||
Outputs="$(DataOutputPath)g2.dat"
|
||||
Condition="'$(TestConfig)' != 'true' and ('$(Platform)' != 'ARM64' or '$(PROCESSOR_ARCHITECTURE)' == 'ARM64')">
|
||||
|
||||
<MakeDir Directories="$(DataOutputPath)" />
|
||||
|
||||
<Exec Command=""$(G2CLIPath)" sprite build "$(DataOutputPath)g2.dat" "%(G2Input.FullPath)""
|
||||
ConsoleToMSBuild="true"
|
||||
IgnoreExitCode="false">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="G2BuildOutput" />
|
||||
</Exec>
|
||||
|
||||
<Touch Files="$(DataOutputPath)g2.dat"
|
||||
ForceTouch="true"
|
||||
AlwaysCreate="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -56,115 +56,6 @@
|
||||
<LibraryPath>$(SolutionDir)bin;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Asset Definitions -->
|
||||
<ItemGroup>
|
||||
<!-- G2 Input (single file) -->
|
||||
<G2Input Include="$(SolutionDir)resources\g2\sprites.json" />
|
||||
|
||||
<!-- Language Files -->
|
||||
<LanguageFiles Include="$(SolutionDir)data\language\**\*"
|
||||
Exclude="$(SolutionDir)data\language\*.bak;
|
||||
$(SolutionDir)data\language\*.tmp" />
|
||||
|
||||
<!-- Shader Files -->
|
||||
<ShaderFiles Include="$(SolutionDir)data\shaders\**\*"
|
||||
Exclude="$(SolutionDir)data\shaders\*.bak;
|
||||
$(SolutionDir)data\shaders\*.tmp" />
|
||||
|
||||
<!-- Scenario Patches -->
|
||||
<ScenarioPatchFiles Include="$(SolutionDir)data\scenario_patches\**\*"
|
||||
Exclude="$(SolutionDir)data\scenario_patches\*.bak;
|
||||
$(SolutionDir)data\scenario_patches\*.tmp" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Language Files -->
|
||||
<Target Name="CopyLanguageFiles"
|
||||
AfterTargets="Build"
|
||||
BeforeTargets="CopyShaders;CopyScenarioPatches;BuildG2"
|
||||
Inputs="@(LanguageFiles)"
|
||||
Outputs="@(LanguageFiles->'$(OutDir)data\language\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(LanguageFiles->'$(OutDir)data\language\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(LanguageFiles)"
|
||||
DestinationFiles="@(LanguageFiles->'$(OutDir)data\language\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedLangFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message
|
||||
Text="Copied: %(CopiedLangFiles.RecursiveDir)%(CopiedLangFiles.Filename)%(CopiedLangFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedLangFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<!-- Shader Files -->
|
||||
<Target Name="CopyShaders"
|
||||
AfterTargets="CopyLanguageFiles"
|
||||
BeforeTargets="CopyScenarioPatches;BuildG2"
|
||||
Inputs="@(ShaderFiles)"
|
||||
Outputs="@(ShaderFiles->'$(OutDir)data\shaders\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(ShaderFiles->'$(OutDir)data\shaders\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(ShaderFiles)"
|
||||
DestinationFiles="@(ShaderFiles->'$(OutDir)data\shaders\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedShaderFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message
|
||||
Text="Copied: %(CopiedShaderFiles.RecursiveDir)%(CopiedShaderFiles.Filename)%(CopiedShaderFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedShaderFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<!-- Scenario Patches -->
|
||||
<Target Name="CopyScenarioPatches"
|
||||
AfterTargets="CopyShaders"
|
||||
BeforeTargets="BuildG2"
|
||||
Inputs="@(ScenarioPatchFiles)"
|
||||
Outputs="@(ScenarioPatchFiles->'$(OutDir)data\scenario_patches\%(RecursiveDir)%(Filename)%(Extension)')">
|
||||
|
||||
<MakeDir Directories="@(ScenarioPatchFiles->'$(OutDir)data\scenario_patches\%(RecursiveDir)')" />
|
||||
|
||||
<Copy SourceFiles="@(ScenarioPatchFiles)"
|
||||
DestinationFiles="@(ScenarioPatchFiles->'$(OutDir)data\scenario_patches\%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SkipUnchangedFiles="true"
|
||||
OverwriteReadOnlyFiles="true"
|
||||
Retries="3">
|
||||
<Output TaskParameter="CopiedFiles" ItemName="CopiedScenarioFiles" />
|
||||
</Copy>
|
||||
|
||||
<Message
|
||||
Text="Copied: %(CopiedScenarioFiles.RecursiveDir)%(CopiedScenarioFiles.Filename)%(CopiedScenarioFiles.Extension)"
|
||||
Importance="high"
|
||||
Condition="'@(CopiedScenarioFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<!-- G2 Build -->
|
||||
<Target Name="BuildG2"
|
||||
AfterTargets="CopyScenarioPatches"
|
||||
Inputs="@(G2Input)"
|
||||
Outputs="$(OutDir)data\g2.dat">
|
||||
|
||||
<MakeDir Directories="$(OutDir)data" />
|
||||
|
||||
<Exec
|
||||
Command=""$(OutDir)openrct2-cli.exe" sprite build "$(OutDir)data\g2.dat" "%(G2Input.FullPath)""
|
||||
ConsoleToMSBuild="true"
|
||||
IgnoreExitCode="false">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="G2BuildOutput" />
|
||||
</Exec>
|
||||
|
||||
<Touch Files="$(OutDir)data\g2.dat"
|
||||
ForceTouch="true"
|
||||
AlwaysCreate="true" />
|
||||
</Target>
|
||||
|
||||
<Import Project="..\..\openrct2.targets" Condition="'$(IsSolutionBuild)' != 'true'" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
||||
Reference in New Issue
Block a user