Copy only current platform media

This commit is contained in:
rtm516 2026-03-12 14:37:36 +00:00
parent 7ae87ad51f
commit e29b7b630e
No known key found for this signature in database
GPG key ID: 331715B8B007C67A
4 changed files with 43 additions and 25 deletions

View file

@ -13,7 +13,7 @@
"inherits": "base",
"cacheVariables": {
"PLATFORM_DEFINES": "_WINDOWS64",
"PLATFORM_FOLDER": "Windows64"
"PLATFORM_NAME": "Windows64"
}
},
{
@ -23,7 +23,7 @@
"toolchainFile": "${sourceDir}/cmake/toolchains/durango.cmake",
"cacheVariables": {
"PLATFORM_DEFINES": "_DURANGO;_XBOX_ONE",
"PLATFORM_FOLDER": "Durango"
"PLATFORM_NAME": "Durango"
}
},
{
@ -33,7 +33,7 @@
"toolchainFile": "${sourceDir}/cmake/toolchains/orbis.cmake",
"cacheVariables": {
"PLATFORM_DEFINES": "__ORBIS__",
"PLATFORM_FOLDER": "Orbis"
"PLATFORM_NAME": "Orbis"
}
},
{
@ -43,7 +43,7 @@
"toolchainFile": "${sourceDir}/cmake/toolchains/ps3.cmake",
"cacheVariables": {
"PLATFORM_DEFINES": "__PS3__",
"PLATFORM_FOLDER": "PS3"
"PLATFORM_NAME": "PS3"
}
},
{
@ -53,7 +53,7 @@
"toolchainFile": "${sourceDir}/cmake/toolchains/psvita.cmake",
"cacheVariables": {
"PLATFORM_DEFINES": "__PSVITA__",
"PLATFORM_FOLDER": "PSVita"
"PLATFORM_NAME": "PSVita"
}
},
{
@ -63,7 +63,7 @@
"toolchainFile": "${sourceDir}/cmake/toolchains/xbox360.cmake",
"cacheVariables": {
"PLATFORM_DEFINES": "_XBOX",
"PLATFORM_FOLDER": "Xbox"
"PLATFORM_NAME": "Xbox"
}
}
],

View file

@ -12,12 +12,12 @@ include("${CMAKE_SOURCE_DIR}/cmake/CommonSources.cmake")
# We cant use CMAKE_CONFIGURE_PRESET here as VS doesn't set it, so just rely on the folder
set(MINECRAFT_CLIENT_SOURCES
${MINECRAFT_CLIENT_COMMON}
$<$<STREQUAL:${PLATFORM_FOLDER},Durango>:${MINECRAFT_CLIENT_DURANGO}>
$<$<STREQUAL:${PLATFORM_FOLDER},Orbis>:${MINECRAFT_CLIENT_ORBIS}>
$<$<STREQUAL:${PLATFORM_FOLDER},PS3>:${MINECRAFT_CLIENT_PS3}>
$<$<STREQUAL:${PLATFORM_FOLDER},PSVita>:${MINECRAFT_CLIENT_PSVITA}>
$<$<STREQUAL:${PLATFORM_FOLDER},Windows64>:${MINECRAFT_CLIENT_WINDOWS}>
$<$<STREQUAL:${PLATFORM_FOLDER},Xbox360>:${MINECRAFT_CLIENT_XBOX360}>
$<$<STREQUAL:${PLATFORM_NAME},Durango>:${MINECRAFT_CLIENT_DURANGO}>
$<$<STREQUAL:${PLATFORM_NAME},Orbis>:${MINECRAFT_CLIENT_ORBIS}>
$<$<STREQUAL:${PLATFORM_NAME},PS3>:${MINECRAFT_CLIENT_PS3}>
$<$<STREQUAL:${PLATFORM_NAME},PSVita>:${MINECRAFT_CLIENT_PSVITA}>
$<$<STREQUAL:${PLATFORM_NAME},Windows64>:${MINECRAFT_CLIENT_WINDOWS}>
$<$<STREQUAL:${PLATFORM_NAME},Xbox360>:${MINECRAFT_CLIENT_XBOX360}>
${SOURCES_COMMON}
)
@ -26,7 +26,7 @@ add_executable(Minecraft.Client WIN32 ${MINECRAFT_CLIENT_SOURCES})
target_include_directories(Minecraft.Client PRIVATE
"${CMAKE_BINARY_DIR}/generated/" # This is for the generated BuildVer.h
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/Iggy/include"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/include"
"${CMAKE_SOURCE_DIR}/include/"
)
target_compile_definitions(Minecraft.Client PRIVATE
@ -52,18 +52,18 @@ target_link_libraries(Minecraft.Client PRIVATE
XInput9_1_0
wsock32
legacy_stdio_definitions
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/Iggy/lib/iggy_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/Iggy/lib/iggyperfmon_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/Iggy/lib/iggyexpruntime_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/lib/iggy_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/lib/iggyperfmon_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/Iggy/lib/iggyexpruntime_w64.lib"
$<$<CONFIG:Debug>: # Debug 4J libraries
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Input_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Storage_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Render_PC_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage_d.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC_d.lib"
>
$<$<NOT:$<CONFIG:Debug>>: # Release 4J libraries
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Input.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Storage.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_FOLDER}/4JLibs/libs/4J_Render_PC.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Input.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Storage.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/${PLATFORM_NAME}/4JLibs/libs/4J_Render_PC.lib"
>
)

View file

@ -10,7 +10,7 @@ set(ASSET_FOLDER_PAIRS
"Common/res" "Common/res"
"Common/Trial" "Common/Trial"
"Common/Tutorial" "Common/Tutorial"
"Windows64Media" "Windows64Media"
"${PLATFORM_NAME}Media" "${PLATFORM_NAME}Media"
)
# Global exclusions applied to every folder copy
@ -23,7 +23,6 @@ set(ASSET_EXCLUDE_FILES
"*.resx" "*.loc"
"*.wav" # Unsupported audio format
"*.xui"
"MediaPS*.arc" "MediaOrbis.arc" "MediaDurango.arc" # Console media
)
# Global folder exclusions applied to every folder copy
@ -31,6 +30,25 @@ set(ASSET_EXCLUDE_FOLDERS
"Graphics"
)
# Exclude platform-specific arc media files
set(PLATFORM_MEDIA_FILES
"MediaWindows64.arc"
"MediaDurango.arc"
"MediaOrbis.arc"
"MediaPS3.arc"
"MediaPSVita.arc"
"MediaXbox.arc" # Seems to be missing?
)
# Exclude all platform media files except the one for the current platform
foreach(media_file IN LISTS PLATFORM_MEDIA_FILES)
if(NOT media_file MATCHES "Media${PLATFORM_NAME}\\.arc")
list(APPEND ASSET_EXCLUDE_FILES "${media_file}")
endif()
endforeach()
# Join the exclusion patterns into a single string for passing to the copy script
list(JOIN ASSET_EXCLUDE_FILES "|" ASSET_EXCLUDE_FILES_STR)
list(JOIN ASSET_EXCLUDE_FOLDERS "|" ASSET_EXCLUDE_FOLDERS_STR)

View file

@ -7,7 +7,7 @@ include("${CMAKE_SOURCE_DIR}/cmake/CommonSources.cmake")
# We cant use CMAKE_CONFIGURE_PRESET here as VS doesn't set it, so just rely on the folder
set(MINECRAFT_WORLD_SOURCES
${MINECRAFT_WORLD_COMMON}
$<$<STREQUAL:${PLATFORM_FOLDER},Durango>:${MINECRAFT_WORLD_DURANGO}>
$<$<STREQUAL:${PLATFORM_NAME},Durango>:${MINECRAFT_WORLD_DURANGO}>
${SOURCES_COMMON}
)