docs: Decouple documentation build from the main
- Documentation is a standalone CMake project in /docs
- Exclude TFM_VERSION to a dedicated version.cmake file
- Move /doxygen into /docs folder
- Adjust documentation for building documentation :)
- Suppress warnings of PythonModules mismatch in docs build
Signed-off-by: Anton Komlev <anton.komlev@arm.com>
Change-Id: I726dc17d9aa547b8faaf35564e21f25aa9c207a9
diff --git a/docs/technical_references/instructions/documentation_generation.rst b/docs/technical_references/instructions/documentation_generation.rst
index e6b4fc5..72e7e55 100644
--- a/docs/technical_references/instructions/documentation_generation.rst
+++ b/docs/technical_references/instructions/documentation_generation.rst
@@ -7,10 +7,8 @@
- Reference Manual. Doxygen based.
- User Guide. Sphinx based.
-Both documents can be generated in HTML and PDF format.
-
-Support for document generation in the build environment is not mandatory.
-Missing document generation tools will not block building the TF-M firmware.
+Both documents can be generated in HTML and PDF format and independently from
+building the project binary artifacts.
***************************
Build TF-M Reference Manual
@@ -48,8 +46,8 @@
.. code-block:: bash
cd <TF-M base folder>
- cmake -S . -B cmake_doc -DTFM_PLATFORM=arm/mps2/an521
- cmake --build cmake_doc -- tfm_docs_refman_html tfm_docs_refman_pdf
+ cmake -S docs -B build_docs
+ cmake --build build_docs -- tfm_docs_refman_html tfm_docs_refman_pdf
The documentation files will be available under the directory ``cmake_doc/docs/reference_manual``.
@@ -104,10 +102,10 @@
.. code-block:: bash
cd <TF-M base folder>
- cmake -S . -B cmake_doc -DTFM_PLATFORM=arm/mps2/an521
- cmake --build cmake_doc -- tfm_docs_refman_html tfm_docs_refman_pdf
+ cmake -S docs -B build_docs -G"Unix Makefiles"
+ cmake --build build_docs -- tfm_docs_refman_html tfm_docs_refman_pdf
- The documentation files will be available under the directory ``cmake_doc\docs\reference_manual``.
+ The documentation files will be available under the directory ``build_docs\docs\reference_manual``.
*********************
Build TF-M User Guide
@@ -154,10 +152,10 @@
.. code-block:: bash
cd <TF-M base folder>
- cmake -S . -B cmake_doc -DTFM_PLATFORM=arm/mps2/an521
- cmake --build cmake_doc -- tfm_docs_userguide_html tfm_docs_userguide_pdf
+ cmake -S docs -B build_docs
+ cmake --build build_docs -- tfm_docs_userguide_html tfm_docs_userguide_pdf
- The documentation files will be available under the directory ``cmake_doc/docs/user_guide``.
+ The documentation files will be available under the directory ``build_docs/docs/user_guide``.
- Manually using the appropriate tools (`sphinx-build`_/ `Doxygen`_)
@@ -222,10 +220,10 @@
.. code-block:: bash
cd <TF-M base folder>
- cmake -S . -B cmake_doc -DTFM_PLATFORM=arm/mps2/an521
- cmake --build cmake_doc -- tfm_docs_userguide_html tfm_docs_userguide_pdf
+ cmake -S docs -B build_docs -G"Unix Makefiles"
+ cmake --build build_docs -- tfm_docs_userguide_html tfm_docs_userguide_pdf
- The documentation files will be available under the directory ``cmake_doc\docs\user_guide``.
+ The documentation files will be available under the directory ``build_docs\docs\user_guide``.
.. _sphinx-build: https://www.sphinx-doc.org/en/master/man/sphinx-build.html
.. _Doxygen: https://www.doxygen.nl