doc === The documentation system used is ``sphinx``. It is used for documentation located in ``/doc`` and also to build the complete documentation in a consistent style. sphinx-based ------------ When configuring with ``-DDOC:STRING=${BUILDER}`` where ``${BUILDER}`` is not ``OFF`` target ``doc`` will be added. The target will then run ``sphinx`` with builder type ``${BUILDER}``. When also configuring with ``-DWERROR:BOOL=ON`` all warnings generated by ``sphinx`` will be turned into errors. By default ``sphinx`` caches both input and output files to speed things up. Target ``doc_nocache`` will force reading all source files, this ensures dynamic directives such as toctrees are updated properly while still caching things that haven't changed properly. Target ``doc_clean`` will also be added and removes build products and temporary files related to the ``doc`` target itself. Refer to http://www.sphinx-doc.org/en/master/builders.html for builder details.