Move project to CMake (#781)

* Move to cmake

* Move sources to source_groups and ditch more old VS files

* Add BuildVer.h generation

* Break out cmake source lists to platforms

* Don't copy swf files

* Revert audio changes from merge

* Add platform defines

* Match MSBuild flags

* Move BuildVer.h to common include and fix rebuild issue

* Seperate projects properly

* Exclude more files and make sure GameHDD exists

* Missing line

* Remove remaining VS project files

* Update readme and actions

* Use incremental LTCG

* Update workflows

* Update build workflows and output folder

* Disable vcpkg checks

* Force MSVC

* Use precompiled headers

* Only use PCH for cpp

* Exclude compat_shims from PCH

* Handle per-platform source includes

* Copy only current platform media

* Define Iggy libs per platform

* Fix EnsureGameHDD check

* Only set WIN32_EXECUTABLE on Windows

* Correct Iggy libs path

* Remove include of terrain_MipmapLevel

* Correct path to xsb/xwb

* Implement copilot suggestions

* Add clang flags (untested)

* Fix robocopy error checking

* Update documentation

* Drop CMakePresets.json version as we dont use v6 features

* Always cleanup artifacts in nightly even if some builds fail

* Re-work compiler target options

* Move newer iggy dll into redist and cleanup

* Fix typos

* Remove 'Source Files' from all source groups

* Remove old ps1 build scripts
This commit is contained in:
rtm516
2026-03-17 21:39:22 +00:00
committed by GitHub
parent 1a3fcb5b20
commit 02a5961f39
106 changed files with 8070 additions and 72800 deletions

View File

@@ -1,30 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameRules", "GameRules.vcxproj", "{0DD2FD59-36AC-476F-9201-D687A4CE9E98}"
EndProject
Global
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 2
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = http://tfs_server:8080/tfs/storiespark
SccProjectUniqueName0 = GameRules.vcxproj
SccLocalPath0 = .
SccLocalPath1 = .
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Xbox 360 = Debug|Xbox 360
Release|Xbox 360 = Release|Xbox 360
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Debug|Xbox 360.ActiveCfg = Debug|Xbox 360
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Debug|Xbox 360.Build.0 = Debug|Xbox 360
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Release|Xbox 360.ActiveCfg = Release|Xbox 360
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Release|Xbox 360.Build.0 = Release|Xbox 360
{0DD2FD59-36AC-476F-9201-D687A4CE9E98}.Release|Xbox 360.Deploy.0 = Release|Xbox 360
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,103 +0,0 @@
<?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|Xbox 360">
<Configuration>Debug</Configuration>
<Platform>Xbox 360</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Xbox 360">
<Configuration>Release</Configuration>
<Platform>Xbox 360</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0DD2FD59-36AC-476F-9201-D687A4CE9E98}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">
<NMakeOutput>
</NMakeOutput>
<NMakePreprocessorDefinitions>_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeBuildCommandLine>BuildGameRule.cmd Tutorial</NMakeBuildCommandLine>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">
<NMakeOutput>GameRules.xex</NMakeOutput>
<NMakePreprocessorDefinitions>NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">
<CustomBuild>
<Command>
</Command>
</CustomBuild>
<Deploy>
<DeploymentType>CopyToHardDrive</DeploymentType>
</Deploy>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="..\Tutorial.pck" />
<None Include="Tutorial\GameRules.xml">
<SubType>Designer</SubType>
</None>
<None Include="Tutorial\schematics\Boat.sch" />
<None Include="Tutorial\schematics\CasTes1.sch" />
<None Include="Tutorial\schematics\CasTes2.sch" />
<None Include="Tutorial\schematics\CastleBottom.sch" />
<None Include="Tutorial\schematics\CastleFront.sch" />
<None Include="Tutorial\schematics\CastleLeft.sch" />
<None Include="Tutorial\schematics\CastleMain.sch" />
<None Include="Tutorial\schematics\CastleRight.sch" />
<None Include="Tutorial\schematics\CastleTop.sch" />
<None Include="Tutorial\schematics\JungleTemp.sch" />
<None Include="Tutorial\schematics\Lava.sch" />
<None Include="Tutorial\schematics\MinecraftSign.sch" />
<None Include="Tutorial\schematics\Mushroom.sch" />
<None Include="Tutorial\schematics\Pyramid.sch" />
<None Include="Tutorial\schematics\Ship.sch" />
<None Include="Tutorial\schematics\SnowHouse.sch" />
<None Include="Tutorial\schematics\Spider.sch" />
<None Include="Tutorial\schematics\Stairs.sch" />
<None Include="Tutorial\schematics\StoneCircle.sch" />
<None Include="Tutorial\schematics\Tower.sch" />
<None Include="Tutorial\schematics\Tutorial.sch" />
<None Include="Tutorial\Strings\en-EN.lang" />
<None Include="Tutorial\Strings\Microsoft\de-DE.lang" />
<None Include="Tutorial\Strings\Microsoft\es-ES.lang" />
<None Include="Tutorial\Strings\Microsoft\fr-FR.lang" />
<None Include="Tutorial\Strings\Microsoft\it-IT.lang" />
<None Include="Tutorial\Strings\Microsoft\ja-JP.lang" />
<None Include="Tutorial\Strings\Microsoft\ko-KR.lang" />
<None Include="Tutorial\Strings\Microsoft\pt-BR.lang" />
<None Include="Tutorial\Strings\Microsoft\pt-PT.lang" />
<None Include="Tutorial\Strings\Microsoft\zh-CHT.lang" />
</ItemGroup>
<ItemGroup>
<Xsd Include="GameRulesDefinition.xsd">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild>
</Xsd>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<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>
<Filter Include="Shared">
<UniqueIdentifier>{ab02d5da-7fb3-494b-a636-03764d9a8acd}</UniqueIdentifier>
</Filter>
<Filter Include="Tutorial">
<UniqueIdentifier>{e1a87048-bca2-46e6-a234-91d7d64eb983}</UniqueIdentifier>
</Filter>
<Filter Include="Tutorial\schematics">
<UniqueIdentifier>{da425f4a-cf76-48e8-87cb-d9fda0f42365}</UniqueIdentifier>
</Filter>
<Filter Include="Tutorial\Loc">
<UniqueIdentifier>{c0ba5f53-4881-495e-8158-5d87f379426d}</UniqueIdentifier>
</Filter>
<Filter Include="Tutorial\Loc\Microsoft">
<UniqueIdentifier>{61651432-41a1-42f0-a853-c7795d813418}</UniqueIdentifier>
</Filter>
<Filter Include="Packs">
<UniqueIdentifier>{e194e42b-1c9b-4e35-9a4b-dabd68eab3e0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="Tutorial\GameRules.xml">
<Filter>Tutorial</Filter>
</None>
<None Include="Tutorial\Strings\en-EN.lang">
<Filter>Tutorial\Loc</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\de-DE.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\es-ES.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\fr-FR.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\it-IT.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\ja-JP.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\ko-KR.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\pt-BR.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\pt-PT.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="Tutorial\Strings\Microsoft\zh-CHT.lang">
<Filter>Tutorial\Loc\Microsoft</Filter>
</None>
<None Include="..\Tutorial.pck">
<Filter>Packs</Filter>
</None>
<None Include="Tutorial\schematics\JungleTemp.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Lava.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\MinecraftSign.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Mushroom.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Ship.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Spider.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Stairs.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\StoneCircle.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Tower.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Pyramid.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\CasTes1.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\CasTes2.sch">
<Filter>Tutorial\schematics</Filter>
</None>
<None Include="Tutorial\schematics\Boat.sch" />
<None Include="Tutorial\schematics\CastleBottom.sch" />
<None Include="Tutorial\schematics\CastleFront.sch" />
<None Include="Tutorial\schematics\CastleLeft.sch" />
<None Include="Tutorial\schematics\CastleMain.sch" />
<None Include="Tutorial\schematics\CastleRight.sch" />
<None Include="Tutorial\schematics\CastleTop.sch" />
<None Include="Tutorial\schematics\Tutorial.sch" />
</ItemGroup>
<ItemGroup>
<Xsd Include="GameRulesDefinition.xsd">
<Filter>Shared</Filter>
</Xsd>
</ItemGroup>
</Project>

View File

@@ -1,10 +0,0 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}