Keeping the sio sources here and in the upstream repo in sync is potentially more work than it needs to be and it might be easier to fix issues like #178 in upstream and then directly pick them up here if SIO would be included as a git submodule here.
I would propose to avoid submodules; better to use FetchContent. Mixing git and cmake methods otherwise quickly becomes tricky. Particularly for downstream consumers.
Keeping the sio sources here and in the upstream repo in sync is potentially more work than it needs to be and it might be easier to fix issues like #178 in upstream and then directly pick them up here if SIO would be included as a git submodule here.