From 02a5961f39673be403fda3edbf6fb1265bd93477 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Tue, 17 Mar 2026 21:39:22 +0000 Subject: 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 --- CMakePresets.json | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 CMakePresets.json (limited to 'CMakePresets.json') diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 00000000..eb37f11b --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,94 @@ +{ + "version": 5, + "configurePresets": [ + { + "name": "base", + "generator": "Ninja Multi-Config", + "binaryDir": "${sourceDir}/build/${presetName}", + "hidden": true + }, + { + "name": "windows64", + "displayName": "Windows64", + "inherits": "base", + "cacheVariables": { + "PLATFORM_DEFINES": "_WINDOWS64", + "PLATFORM_NAME": "Windows64", + "IGGY_LIBS": "iggy_w64.lib;iggyperfmon_w64.lib;iggyexpruntime_w64.lib" + } + }, + { + "name": "durango", + "displayName": "Durango", + "inherits": "base", + "toolchainFile": "${sourceDir}/cmake/toolchains/durango.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "_DURANGO;_XBOX_ONE", + "PLATFORM_NAME": "Durango", + "IGGY_LIBS": "iggy_durango.lib;iggyperfmon_durango.lib" + } + }, + { + "name": "orbis", + "displayName": "ORBIS", + "inherits": "base", + "toolchainFile": "${sourceDir}/cmake/toolchains/orbis.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__ORBIS__", + "PLATFORM_NAME": "Orbis", + "IGGY_LIBS": "libiggy_orbis.a;libiggyperfmon_orbis.a" + } + }, + { + "name": "ps3", + "displayName": "PS3", + "inherits": "base", + "toolchainFile": "${sourceDir}/cmake/toolchains/ps3.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__PS3__", + "PLATFORM_NAME": "PS3", + "IGGY_LIBS": "libiggy_ps3.a;libiggyperfmon_ps3.a;libiggyexpruntime_ps3.a" + } + }, + { + "name": "psvita", + "displayName": "PSVita", + "inherits": "base", + "toolchainFile": "${sourceDir}/cmake/toolchains/psvita.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__PSVITA__", + "PLATFORM_NAME": "PSVita", + "IGGY_LIBS": "libiggy_psp2.a;libiggyperfmon_psp2.a" + } + }, + { + "name": "xbox360", + "displayName": "Xbox 360", + "inherits": "base", + "toolchainFile": "${sourceDir}/cmake/toolchains/xbox360.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "_XBOX", + "PLATFORM_NAME": "Xbox" + } + } + ], + "buildPresets": [ + { "name": "windows64-debug", "displayName": "Windows64 - Debug", "configurePreset": "windows64", "configuration": "Debug" }, + { "name": "windows64-release", "displayName": "Windows64 - Release", "configurePreset": "windows64", "configuration": "Release" }, + + { "name": "durango-debug", "displayName": "Durango - Debug", "configurePreset": "durango", "configuration": "Debug" }, + { "name": "durango-release", "displayName": "Durango - Release", "configurePreset": "durango", "configuration": "Release" }, + + { "name": "orbis-debug", "displayName": "ORBIS - Debug", "configurePreset": "orbis", "configuration": "Debug" }, + { "name": "orbis-release", "displayName": "ORBIS - Release", "configurePreset": "orbis", "configuration": "Release" }, + + { "name": "ps3-debug", "displayName": "PS3 - Debug", "configurePreset": "ps3", "configuration": "Debug" }, + { "name": "ps3-release", "displayName": "PS3 - Release", "configurePreset": "ps3", "configuration": "Release" }, + + { "name": "psvita-debug", "displayName": "PSVita - Debug", "configurePreset": "psvita", "configuration": "Debug" }, + { "name": "psvita-release", "displayName": "PSVita - Release", "configurePreset": "psvita", "configuration": "Release" }, + + { "name": "xbox360-debug", "displayName": "Xbox 360 - Debug", "configurePreset": "xbox360", "configuration": "Debug" }, + { "name": "xbox360-release", "displayName": "Xbox 360 - Release", "configurePreset": "xbox360", "configuration": "Release" } + ] +} \ No newline at end of file -- cgit v1.2.3