Anton Komlev | c3d230b | 2024-04-10 19:24:00 +0100 | [diff] [blame] | 1 | #------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2024, Arm Limited. All rights reserved. |
| 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | #------------------------------------------------------------------------------- |
| 7 | |
| 8 | cmake_minimum_required(VERSION 3.21) |
| 9 | |
| 10 | add_custom_target(docs) |
Nik Dewally | 4c2b668 | 2024-06-17 16:14:38 +0100 | [diff] [blame] | 11 | list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) |
| 12 | |
| 13 | find_package(Sphinx) |
| 14 | find_package(LATEX COMPONENTS PDFLATEX) |
Anton Komlev | c3d230b | 2024-04-10 19:24:00 +0100 | [diff] [blame] | 15 | |
| 16 | project("Trusted Firmware M Extras. Documentation" LANGUAGES) |
| 17 | |
Anton Komlev | c3d230b | 2024-04-10 19:24:00 +0100 | [diff] [blame] | 18 | set(SPHINXCFG_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) |
| 19 | set(SPHINXCFG_CONFIG_PATH ${CMAKE_CURRENT_SOURCE_DIR}) |
| 20 | set(SPHINXCFG_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) |
| 21 | |
| 22 | file(GLOB_RECURSE SPHINXCFG_DOC_FILES ${SPHINXCFG_SOURCE_PATH}/*.rst ${SPHINXCFG_SOURCE_PATH}/*.md) |
| 23 | |
| 24 | add_custom_target(tfm_docs_extras_html ALL |
| 25 | COMMAND "${SPHINX_EXECUTABLE}" -W -b html -j 8 -c ${SPHINXCFG_CONFIG_PATH} ${SPHINXCFG_SOURCE_PATH} "${SPHINXCFG_OUTPUT_PATH}/html" |
| 26 | WORKING_DIRECTORY ${SPHINXCFG_SOURCE_PATH} |
| 27 | DEPENDS ${SPHINXCFG_DOC_FILES} |
| 28 | ) |
| 29 | add_dependencies(docs tfm_docs_extras_html) |
| 30 | |
| 31 | add_custom_target(tfm_docs_extras_pdf ALL |
| 32 | COMMAND "${SPHINX_EXECUTABLE}" -W -b latex -j 8 -c ${SPHINXCFG_CONFIG_PATH} ${SPHINXCFG_SOURCE_PATH} "${SPHINXCFG_OUTPUT_PATH}/latex" |
| 33 | COMMAND ${PDFLATEX_COMPILER} -output-directory "${SPHINXCFG_OUTPUT_PATH}/latex" TF-M.tex |
| 34 | COMMAND ${CMAKE_COMMAND} -E copy "${SPHINXCFG_OUTPUT_PATH}/latex/TF-M.pdf" "${SPHINXCFG_OUTPUT_PATH}/tf-m_user_guide.pdf" |
| 35 | WORKING_DIRECTORY ${SPHINXCFG_SOURCE_PATH} |
| 36 | DEPENDS ${SPHINXCFG_DOC_FILES} |
| 37 | ) |
| 38 | add_dependencies(docs tfm_docs_extras_pdf) |
| 39 | |