Skip to content

[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:

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.