path: root/doxygen
AgeCommit message (Collapse)Author
2020-09-24Build: Convert docs directory to modern cmakeMinos Galanakis
Add cmake files to docs directory. Remove unneeded cmake files. By default, the targets are generated but not run by `make all` or `make`. The documentation can be generated by running `make docs` Please refer to the tfm_build_instructions document for reference examples. WARNING: This change will not build in isolation, it requires _all_ other cmake changes to successfully build. It is split out only for ease of understanding. Change-Id: I1b004a8f8ccfba2df901d91b093576fdc6bfa40d Signed-off-by: Minos Galanakis <minos.galanakis@arm.com> Signed-off-by: Raef Coles <raef.coles@arm.com>
2020-09-24Docs: Decouple from CMAKE and enable sphynx-build.Minos Galanakis
This patch is reducing the dependency of the documentation to the TrustedFirmware-M build environment. Currently CMake will copy over files from platforms, render the configuration files, sort design documents and invoke the corresponding tools to build the documentation. This patch introduces an environment communicating interface file, which CMAKE will need to populate, before calling the build command. The file copy operation has been moved over to the sphynx-build logic, and the design document’s classification is no longer required by the new user interface. The new implemenatation allows: * Documentation can be built in an identical way through the build system, retaining compatibility with existing tools, such as the CI. * It is now possible to build documentation, by just invoking sphynx-build from the build-docs directory. * Third party tools/services like readthedocs.org can now render the TF-M documentation. * Reduced CMake code size. * Documentation generating logic invokes ‘git describe’ in order to determine a version. The order of precedence is set as: Git Describe Version-> CMake hardcoded version -> Template version. * CMake logic can still toggle parts of the new logic on and off if required. * The full set of TF-M build dependencies are not longer required in order to build documentation. Just the documentation dependencies would suffice. Change-Id: I12e7bbffe9d1adb756329c46da13905e95096381 Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
2019-03-05Doc: fix doxygen comments.Gyorgy Szing
Some existing doxygen comments resulted in bad or bad looking documentation. These were fixed. Change-Id: I20ab5a81c54d3bdc0e056965ad7de293d472cdf9 Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
2019-03-05Doc: non C specific doxygen documentation added.Gyorgy Szing
Some parts of the TF-M Reference Manual are defined/written outside of C source files. These files have the .dox extension and have meta-data in C coments and doxygen documentation in C doxygen comments. Change-Id: Ia348be72acae9958f1bc65588cc4c14c8cf0c7e7 Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
2019-03-05Doc: added documentation build support.Gyorgy Szing
This change enables checking for availability of tools needed to build the doxygen documentation (Reference Manual), and building the manual. During the configuration phase CMake will search for doxygen, PlanUML, dot, java and Latex tools. Then it will "configure" the file doxygen/Doxyfile.in, and generate the following targets: - doc_refman: to build HTML documentation - doc_refman_pdf: to build PDF documentation - install_doc: to install all build documentation files If any mandatory tool is missing, CMake will issue a warning and not generate the targets. Thus missing tools will not stop the user to build the firmware, just remove the documentation build capability. PDF generation is optional, if latex is missing, HTML documentation can still be generated. Change was tested on: -Win10 with native windows doxygen and MixTex for PDF generation. -Linux Mint 18.1 Serena (based on Ubuntu 16.04 - Xenial Xerus) Change-Id: I25fb80bb8eee8e510c9bd55bffb5974d2360651f Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>