From 2e3a6b90ee68ef478308a0ed02fff56b4b1dfb76 Mon Sep 17 00:00:00 2001 From: izzy Date: Thu, 5 Mar 2026 05:17:52 -0500 Subject: [PATCH 1/5] misc: replace rsync with cp and tar in CMakeLists.txt --- CMakeLists.txt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 916f13157..770f4d140 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,27 +121,29 @@ if(WIN32) elseif(UNIX) message(STATUS "Starting redist copy...") execute_process( - COMMAND rsync -av "${CMAKE_CURRENT_SOURCE_DIR}/x64/Release/" "${CMAKE_CURRENT_BINARY_DIR}/" + COMMAND cp -av "${CMAKE_CURRENT_SOURCE_DIR}/x64/Release/" "${CMAKE_CURRENT_BINARY_DIR}/" ) message(STATUS "Starting asset copy...") execute_process( - COMMAND rsync -av + COMMAND tar "--exclude=*.cpp" "--exclude=*.c" "--exclude=*.h" "--exclude=*.hpp" "--exclude=*.asm" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.vcxproj" "--exclude=*.vcxproj.*" "--exclude=*.sln" "--exclude=*.docx" "--exclude=*.xls" "--exclude=*.bat" "--exclude=*.cmd" "--exclude=*.ps1" "--exclude=*.py" "--exclude=*Test*" "--exclude=Durango*" "--exclude=Orbis*" "--exclude=PS*" "--exclude=Xbox" - "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/" "${CMAKE_CURRENT_BINARY_DIR}/" + -cvf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/" . + COMMAND tar -xvf - -C "${CMAKE_CURRENT_BINARY_DIR}/" ) message(STATUS "Patching Windows64Media...") execute_process( - COMMAND rsync -av + COMMAND tar "--exclude=*.h" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.bat" - "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/" + -cf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" . + COMMAND tar -xf - -C "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/" ) else() - message(FATAL_ERROR "Redist and asset copying is only supported on Windows (Robocopy) and Unix systems (rsync).") + message(FATAL_ERROR "Redist and asset copying is only supported on Windows (Robocopy) and Unix systems (cp, tar).") endif() set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT MinecraftClient) From d875aec6485b9edf3b8bba08174fb88e0562e701 Mon Sep 17 00:00:00 2001 From: izzy Date: Thu, 5 Mar 2026 05:27:59 -0500 Subject: [PATCH 2/5] fix: ensure `Windows64Media` is *really* there --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 770f4d140..31c45d66b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,7 @@ elseif(UNIX) COMMAND tar -xvf - -C "${CMAKE_CURRENT_BINARY_DIR}/" ) message(STATUS "Patching Windows64Media...") + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/") execute_process( COMMAND tar "--exclude=*.h" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.bat" From cc992de7a822e51ad65b15a493d1f4b153210ad8 Mon Sep 17 00:00:00 2001 From: izzy Date: Thu, 5 Mar 2026 05:58:04 -0500 Subject: [PATCH 3/5] fix: enable `tar` logging for `Windows64Media` step --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 31c45d66b..136e15493 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -140,8 +140,8 @@ elseif(UNIX) execute_process( COMMAND tar "--exclude=*.h" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.bat" - -cf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" . - COMMAND tar -xf - -C "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/" + -cvf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" . + COMMAND tar -xvf - -C "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/" ) else() message(FATAL_ERROR "Redist and asset copying is only supported on Windows (Robocopy) and Unix systems (cp, tar).") From 4e3965d4c911595841ec745016098861f810356c Mon Sep 17 00:00:00 2001 From: izzy Date: Thu, 5 Mar 2026 05:58:58 -0500 Subject: [PATCH 4/5] misc: make `tar` only log on the extraction step --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 136e15493..1c62fdfb3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,7 @@ elseif(UNIX) "--exclude=*.bat" "--exclude=*.cmd" "--exclude=*.ps1" "--exclude=*.py" "--exclude=*Test*" "--exclude=Durango*" "--exclude=Orbis*" "--exclude=PS*" "--exclude=Xbox" - -cvf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/" . + -cf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/" . COMMAND tar -xvf - -C "${CMAKE_CURRENT_BINARY_DIR}/" ) message(STATUS "Patching Windows64Media...") @@ -140,7 +140,7 @@ elseif(UNIX) execute_process( COMMAND tar "--exclude=*.h" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.bat" - -cvf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" . + -cf - -C "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" . COMMAND tar -xvf - -C "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/" ) else() From ad1af557ba36f828a658b22a39e71e57e8fd284d Mon Sep 17 00:00:00 2001 From: izzy Date: Thu, 5 Mar 2026 23:21:46 -0500 Subject: [PATCH 5/5] misc: implement #628 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c62fdfb3..8f36a0c31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,7 @@ target_link_libraries(MinecraftClient PRIVATE > ) -if(WIN32) +if(CMAKE_HOST_WIN32) message(STATUS "Starting redist copy...") execute_process( COMMAND robocopy.exe @@ -118,7 +118,7 @@ if(WIN32) /S /MT /R:0 /W:0 /NP /XF "*.h" "*.xml" "*.lang" "*.bat" ) -elseif(UNIX) +elseif(CMAKE_HOST_UNIX) message(STATUS "Starting redist copy...") execute_process( COMMAND cp -av "${CMAKE_CURRENT_SOURCE_DIR}/x64/Release/" "${CMAKE_CURRENT_BINARY_DIR}/"