Replaced rsync with tar and cp.

This commit is contained in:
Portal 2026-03-21 05:04:19 -04:00
parent 46bd1c3688
commit e8e78419fb
2 changed files with 13 additions and 12 deletions

View file

@ -39,12 +39,12 @@ if(CMAKE_HOST_WIN32)
elseif(CMAKE_HOST_UNIX)
execute_process(
COMMAND rsync -av ${COPY_SOURCE} "${COPY_DEST}/"
RESULT_VARIABLE rs
COMMAND cp -av "${COPY_SOURCE}/" "${COPY_DEST}/"
RESULT_VARIABLE cp
)
if(rs GREATER 0) # Any non-zero exit code indicates an error
message(FATAL_ERROR "rsync failed (exit code ${rs})")
if(cp GREATER 0) # Any non-zero exit code indicates an error
message(FATAL_ERROR "cp failed (exit code ${cp})")
endif()
else()
message(FATAL_ERROR "Unsupported host platform for asset copying.")

View file

@ -46,24 +46,25 @@ if(CMAKE_HOST_WIN32)
message(FATAL_ERROR "robocopy failed (exit code ${rc})")
endif()
elseif(CMAKE_HOST_UNIX)
set(rsync_args -av)
set(tar_args)
foreach(pattern IN LISTS EXCLUDE_FILES)
list(APPEND rsync_args "--exclude=${pattern}")
list(APPEND tar_args "--exclude=${pattern}")
endforeach()
foreach(pattern IN LISTS EXCLUDE_FOLDERS)
list(APPEND rsync_args "--exclude=${pattern}")
list(APPEND tar_args "--exclude=${pattern}")
endforeach()
# Trailing slashes ensure rsync copies contents, not the directory itself
# Trailing slashes ensure tar copies contents, not the directory itself
execute_process(
COMMAND rsync ${rsync_args} "${COPY_SOURCE}/" "${COPY_DEST}/"
RESULT_VARIABLE rs
COMMAND tar ${tar_args} -cf - -C "${COPY_SOURCE}/" .
COMMAND tar -xvf - -C "${COPY_DEST}/"
RESULT_VARIABLE tr
)
if(rs GREATER 0) # Any non-zero exit code indicates an error
message(FATAL_ERROR "rsync failed (exit code ${rs})")
if(tr GREATER 0) # Any non-zero exit code indicates an error
message(FATAL_ERROR "tar failed (exit code ${tr})")
endif()
else()
message(FATAL_ERROR "Unsupported host platform for asset copying.")