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
     )