[Misc] Move submodules to a dedicated directory
We currently have the following submodules:
xrootd-ssi-protobuf-interfaceeos_cta/grpc-protocatalogue/catalogue-schema
With !901 (merged), we will be getting another one (jwt-cpp).
Right now all of these submodules are scattered throughout the code base, making them difficult to track. For developers it can be confusing when they are in a submodule and when they are not.
External dependencies should be clearly scoped. We should follow what basically every other project does, which is to have a dedicated directory for external dependencies. Some examples:
-
opentelemetry-cpp ->
third_party/ -
TensforFlow ->
third_party/ -
Blender ->
extern/ -
Godot ->
thirdparty/ -
Protobuf ->
third_party/ -
Open MPI ->
3rd-party/ -
Pytorch ->
third_party/
The typical choices are third_party/ or external/ and their corresponding variations. I would vote for external/, since we also have a few submodules there that we ourselves maintain (such as the catalogue-schema), which I don't think classify nicely as 3rd party.
It will not be a lot of work to move this around; just a matter of updating some CMakeLists.txt files.