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/CMakeLists.txt b/docs/CMakeLists.txt
index 78b7570..f1a2b2d 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -9,8 +9,13 @@
add_custom_target(docs)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../cmake)
+
find_package(Python3)
find_package(Sphinx)
+
+# suppress warnings on mismatched names in PythonModules
+set(FPHSA_NAME_MISMATCHED True)
find_package(PythonModules COMPONENTS m2r sphinx-rtd-theme sphinxcontrib.plantuml)
find_package(PlantUML)
find_package(Doxygen 1.8.0)
@@ -18,6 +23,10 @@
################################## ENV #########################################
+include(../version.cmake)
+
+project("Trusted Firmware M. Documentation" VERSION ${TFM_VERSION} LANGUAGES)
+
set(SPHINXCFG_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/user_guide)
set(SPHINX_TMP_DOC_DIR ${CMAKE_CURRENT_BINARY_DIR}/temp)
set(SPHINXCFG_TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in")
@@ -36,8 +45,8 @@
)
add_custom_command(OUTPUT ${SPHINX_TMP_DOC_DIR}/conf.py
COMMAND ${CMAKE_COMMAND} -E make_directory ${SPHINX_TMP_DOC_DIR}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/docs/conf.py ${SPHINX_TMP_DOC_DIR}/conf.py
- MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/docs/conf.py
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/conf.py ${SPHINX_TMP_DOC_DIR}/conf.py
+ MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/conf.py
BYPRODUCTS ${SPHINX_TMP_DOC_DIR}
)
@@ -54,7 +63,7 @@
DEPENDS tfm_docs_sphinx_cfg
DEPENDS ${SPHINXCFG_DOC_FILES}
)
- add_custom_target(tfm_docs_userguide_html
+ add_custom_target(tfm_docs_userguide_html ALL
DEPENDS "${SPHINXCFG_OUTPUT_PATH}/html/index.html"
DEPENDS "${SPHINXCFG_OUTPUT_PATH}/html/"
)
@@ -96,7 +105,7 @@
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS ${DOXYCFG_DOC_FILES}
)
- add_custom_target(tfm_docs_refman_html
+ add_custom_target(tfm_docs_refman_html ALL
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS ${DOXYCFG_OUTPUT_PATH}/html
)