I have a large C++ project I'm hoping to release publicly soon (it is currently an internal development at work).
We have a large auto documentation setup which uses doxygen and sphinx, however our documentation includes many images (useful as our tool deals primarily with image processing, geometries, and rendering).
Currently I'm just keeping the images sitting in a shared folder, and reference them when I build a copy of the docs. But when we publicly release the project I'd like to somehow provide them such that anyone could easily build the documentation by simply setting the BUILD_DOCS
cmake option to ON
, and not have to worry about sourcing files from all over the place. But at the same time, I don't want to include them in the repository itself as I doubt most people would be building the docs from scratch and so would never need the images at all.
One solution I was thinking of was to keep the images in a separate repository that the main repo simply contains as a submodule. Then I can configure the CMake to simply go fetch the contents of that submodule if someone is building the docs. I do something similar already with vcpkg which I have included as a submodule to simplify the build process (but still allow people to bypass using it)
Is that a sensible option? Or is there a better way of dealing with this? The advice I've gotten most often is to just not care about it but I really like how small my repository size is and adding these images would immediately grow the repo an order of magnitude in size.