mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-20 09:57:09 +00:00
Exclude more files and make sure GameHDD exists
This commit is contained in:
parent
cca184d988
commit
cad2fe2965
|
|
@ -83,3 +83,14 @@ add_custom_target(CopyRedist ALL
|
||||||
|
|
||||||
add_dependencies(Minecraft.Client CopyRedist)
|
add_dependencies(Minecraft.Client CopyRedist)
|
||||||
set_property(TARGET CopyRedist PROPERTY FOLDER "Build")
|
set_property(TARGET CopyRedist PROPERTY FOLDER "Build")
|
||||||
|
|
||||||
|
# Make sure GameHDD exists
|
||||||
|
add_custom_target(EnsureGameHDD ALL
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
-E make_directory "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/Windows64/GameHDD"
|
||||||
|
COMMENT "Ensuring GameHDD directory exists..."
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(Minecraft.Client EnsureGameHDD)
|
||||||
|
set_property(TARGET EnsureGameHDD PROPERTY FOLDER "Build")
|
||||||
|
|
@ -10,8 +10,6 @@ set(ASSET_FOLDER_PAIRS
|
||||||
"Common/res" "Common/res"
|
"Common/res" "Common/res"
|
||||||
"Common/Trial" "Common/Trial"
|
"Common/Trial" "Common/Trial"
|
||||||
"Common/Tutorial" "Common/Tutorial"
|
"Common/Tutorial" "Common/Tutorial"
|
||||||
# "Windows64/GameHDD" "Windows64/GameHDD"
|
|
||||||
"DurangoMedia" "Windows64Media" # Use Durango as a base for the Windows64 media
|
|
||||||
"Windows64Media" "Windows64Media"
|
"Windows64Media" "Windows64Media"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -20,13 +18,22 @@ set(ASSET_EXCLUDE_FILES
|
||||||
"*.cpp" "*.h"
|
"*.cpp" "*.h"
|
||||||
"*.xml" "*.lang"
|
"*.xml" "*.lang"
|
||||||
"*.bat" "*.cmd"
|
"*.bat" "*.cmd"
|
||||||
"*.msscmp" "*.binka"
|
"*.msscmp" "*.binka" # Old audio formats
|
||||||
"*.swf" # These are built into the .arc
|
"*.swf" # These are built into the .arc
|
||||||
|
"*.resx" "*.loc"
|
||||||
|
"*.wav" # Unsupported audio format
|
||||||
"*.xui"
|
"*.xui"
|
||||||
|
"MediaPS*" "MediaOrbis.arc" "MediaDurango.arc" # Console media
|
||||||
|
)
|
||||||
|
|
||||||
|
# Global folder exclusions applied to every folder copy
|
||||||
|
set(ASSET_EXCLUDE_FOLDERS
|
||||||
|
"Graphics"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Join the exclusion patterns into a single string for passing to the copy script
|
# 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_FILES "|" ASSET_EXCLUDE_FILES_STR)
|
||||||
|
list(JOIN ASSET_EXCLUDE_FOLDERS "|" ASSET_EXCLUDE_FOLDERS_STR)
|
||||||
|
|
||||||
function(setup_asset_copy_targets)
|
function(setup_asset_copy_targets)
|
||||||
set(copy_commands "")
|
set(copy_commands "")
|
||||||
|
|
@ -44,6 +51,7 @@ function(setup_asset_copy_targets)
|
||||||
"-DCOPY_SOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${src}"
|
"-DCOPY_SOURCE=${CMAKE_CURRENT_SOURCE_DIR}/${src}"
|
||||||
"-DCOPY_DEST=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${dest}"
|
"-DCOPY_DEST=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${dest}"
|
||||||
"-DEXCLUDE_FILES=${ASSET_EXCLUDE_FILES_STR}"
|
"-DEXCLUDE_FILES=${ASSET_EXCLUDE_FILES_STR}"
|
||||||
|
"-DEXCLUDE_FOLDERS=${ASSET_EXCLUDE_FOLDERS_STR}"
|
||||||
-P "${COPY_SCRIPT}"
|
-P "${COPY_SCRIPT}"
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
@ -57,4 +65,4 @@ function(setup_asset_copy_targets)
|
||||||
add_dependencies(Minecraft.Client AssetCopyTargets)
|
add_dependencies(Minecraft.Client AssetCopyTargets)
|
||||||
|
|
||||||
set_property(TARGET AssetCopyTargets PROPERTY FOLDER "Build")
|
set_property(TARGET AssetCopyTargets PROPERTY FOLDER "Build")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@
|
||||||
# COPY_DEST – destination directory
|
# COPY_DEST – destination directory
|
||||||
#
|
#
|
||||||
# Optional:
|
# Optional:
|
||||||
# EXCLUDE_FILES – semicolon-separated file patterns to exclude
|
# EXCLUDE_FILES – pipe-separated file patterns to exclude
|
||||||
|
# EXCLUDE_FOLDERS – pipe-separated folder patterns to exclude
|
||||||
|
|
||||||
if(NOT COPY_SOURCE OR NOT COPY_DEST)
|
if(NOT COPY_SOURCE OR NOT COPY_DEST)
|
||||||
message(FATAL_ERROR "COPY_SOURCE and COPY_DEST must be set.")
|
message(FATAL_ERROR "COPY_SOURCE and COPY_DEST must be set.")
|
||||||
|
|
@ -17,6 +18,10 @@ if(EXCLUDE_FILES)
|
||||||
string(REPLACE "|" ";" EXCLUDE_FILES "${EXCLUDE_FILES}")
|
string(REPLACE "|" ";" EXCLUDE_FILES "${EXCLUDE_FILES}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(EXCLUDE_FOLDERS)
|
||||||
|
string(REPLACE "|" ";" EXCLUDE_FOLDERS "${EXCLUDE_FOLDERS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMAKE_HOST_WIN32)
|
if(CMAKE_HOST_WIN32)
|
||||||
set(robocopy_args
|
set(robocopy_args
|
||||||
"${COPY_SOURCE}" "${COPY_DEST}"
|
"${COPY_SOURCE}" "${COPY_DEST}"
|
||||||
|
|
@ -27,6 +32,10 @@ if(CMAKE_HOST_WIN32)
|
||||||
list(APPEND robocopy_args /XF ${EXCLUDE_FILES})
|
list(APPEND robocopy_args /XF ${EXCLUDE_FILES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(EXCLUDE_FOLDERS)
|
||||||
|
list(APPEND robocopy_args /XD ${EXCLUDE_FOLDERS})
|
||||||
|
endif()
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND robocopy.exe ${robocopy_args}
|
COMMAND robocopy.exe ${robocopy_args}
|
||||||
RESULT_VARIABLE rc
|
RESULT_VARIABLE rc
|
||||||
|
|
@ -42,6 +51,10 @@ elseif(CMAKE_HOST_UNIX)
|
||||||
list(APPEND rsync_args "--exclude=${pattern}")
|
list(APPEND rsync_args "--exclude=${pattern}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
foreach(pattern IN LISTS EXCLUDE_FOLDERS)
|
||||||
|
list(APPEND rsync_args "--exclude=${pattern}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# Trailing slashes ensure rsync copies contents, not the directory itself
|
# Trailing slashes ensure rsync copies contents, not the directory itself
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND rsync ${rsync_args} "${COPY_SOURCE}/" "${COPY_DEST}/"
|
COMMAND rsync ${rsync_args} "${COPY_SOURCE}/" "${COPY_DEST}/"
|
||||||
|
|
@ -53,4 +66,4 @@ elseif(CMAKE_HOST_UNIX)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unsupported host platform for asset copying.")
|
message(FATAL_ERROR "Unsupported host platform for asset copying.")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue