Skip to content

consider replacing rsync with cp and tar in CMakeLists.txt#558

Open
izzint wants to merge 6 commits intosmartcmd:mainfrom
izzint:rsync-removal
Open

consider replacing rsync with cp and tar in CMakeLists.txt#558
izzint wants to merge 6 commits intosmartcmd:mainfrom
izzint:rsync-removal

Conversation

@izzint
Copy link

@izzint izzint commented Mar 5, 2026

This solution is a little more unruly compared to using just rsync, but has more general support on most *nix systems (you don't need to install any additional packages to use this at all, cp and tar are pretty well included unix tools)

My main gripe with using rsync is that when it does come pre-included on an operating system, it's usually quite an old version, and that usually means its a whole lot slower. The version included on macOS (2.6.9) is about 19 years old at this point, and takes a whole 10 seconds to copy every folder over, modern rsync is way better at this task and it brings that down to about 4 seconds1, albeit you need to install it via brew and add it to PATH.

The method involving tar and cp on the other hand takes about 2.5 seconds to fully complete, as well as being generally more compatible. ;]

Footnotes

  1. tested on macos 15.7.3 with rsync 3.4.1 from brew

@izzint
Copy link
Author

izzint commented Mar 5, 2026

Added a function to insure the Windows64Media folder is there when copying over those assets, ideally it should always be there, but this helps with an edge case where the makefile generation would bail without any reason given as well as mimicking what robocopy does by default

@void2012 void2012 added the good PR Exceptionally good Pull Request label Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good PR Exceptionally good Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants