[Misc] Move submodules to a dedicated directory
We currently have the following submodules:
xrootd-ssi-protobuf-interface
eos_cta/grpc-proto
catalogue/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.