diff --git a/CMakeLists.txt b/CMakeLists.txt index 44b80a266..6f412a20b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,9 +40,11 @@ set(MINECRAFT_SHARED_DEFINES $<$:_DEBUG> _CRT_NON_CONFORMING_SWPRINTFS _CRT_SECURE_NO_WARNINGS - _WINDOWS64 ) +# Add platform-specific defines +list(APPEND MINECRAFT_SHARED_DEFINES ${PLATFORM_DEFINES}) + set(WORLD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World") set(CLIENT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client") @@ -161,4 +163,4 @@ set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT MinecraftClient) # Setup folders for Visual Studio, just hides the build targets under a sub folder set_property(GLOBAL PROPERTY USE_FOLDERS ON) -set_property(TARGET CopyRedist GenerateBuildVer PROPERTY FOLDER "Build") \ No newline at end of file +set_property(TARGET CopyRedist GenerateBuildVer PROPERTY FOLDER "Build") diff --git a/CMakePresets.json b/CMakePresets.json index 65af7f718..692817295 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -4,38 +4,55 @@ { "name": "windows64", "displayName": "Windows64", - "generator": "Visual Studio 17 2022", - "architecture": "x64" + "generator": "Ninja Multi-Config", + "cacheVariables": { + "PLATFORM_DEFINES": "_WINDOWS64" + } }, { "name": "durango", "displayName": "Durango", - "generator": "Visual Studio 17 2022", - "toolchainFile": "${sourceDir}/cmake/toolchains/durango.cmake" + "generator": "Ninja Multi-Config", + "toolchainFile": "${sourceDir}/cmake/toolchains/durango.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "_DURANGO;_XBOX_ONE" + } }, { "name": "orbis", "displayName": "ORBIS", - "generator": "Visual Studio 17 2022", - "toolchainFile": "${sourceDir}/cmake/toolchains/orbis.cmake" + "generator": "Ninja Multi-Config", + "toolchainFile": "${sourceDir}/cmake/toolchains/orbis.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__ORBIS__" + } }, { "name": "ps3", "displayName": "PS3", - "generator": "Visual Studio 17 2022", - "toolchainFile": "${sourceDir}/cmake/toolchains/ps3.cmake" + "generator": "Ninja Multi-Config", + "toolchainFile": "${sourceDir}/cmake/toolchains/ps3.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__PS3__" + } }, { "name": "psvita", "displayName": "PSVita", - "generator": "Visual Studio 17 2022", - "toolchainFile": "${sourceDir}/cmake/toolchains/psvita.cmake" + "generator": "Ninja Multi-Config", + "toolchainFile": "${sourceDir}/cmake/toolchains/psvita.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "__PSVITA__" + } }, { "name": "xbox360", "displayName": "Xbox 360", - "generator": "Visual Studio 17 2022", - "toolchainFile": "${sourceDir}/cmake/toolchains/xbox360.cmake" + "generator": "Ninja Multi-Config", + "toolchainFile": "${sourceDir}/cmake/toolchains/xbox360.cmake", + "cacheVariables": { + "PLATFORM_DEFINES": "_XBOX" + } } ], "buildPresets": [ diff --git a/cmake/toolchains/durango.cmake b/cmake/toolchains/durango.cmake new file mode 100644 index 000000000..e69de29bb diff --git a/cmake/toolchains/orbis.cmake b/cmake/toolchains/orbis.cmake new file mode 100644 index 000000000..e69de29bb diff --git a/cmake/toolchains/ps3.cmake b/cmake/toolchains/ps3.cmake new file mode 100644 index 000000000..e69de29bb diff --git a/cmake/toolchains/psvita.cmake b/cmake/toolchains/psvita.cmake new file mode 100644 index 000000000..e69de29bb diff --git a/cmake/toolchains/xbox360.cmake b/cmake/toolchains/xbox360.cmake new file mode 100644 index 000000000..e69de29bb