blob: 0dc1b71327fb691123a923cf77395df9c3ac8369 [file] [log] [blame]
Gyorgy Szing74dae3c2018-09-27 17:00:46 +02001#-------------------------------------------------------------------------------
2# Copyright (c) 2019, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8#Sphinx needs all document files to be under a single directory. This script
9#copies all document files to a temporary directory while keeping the original
10#directory tree (relative location of files) except "docs/index.rst" which is
11#moved to the top level of the new tree.
12#
13# i.e.:
14# <DST_DIR>
15# | All documents from <TFM_ROOT_DIR> plus <TFM_ROOT_DIR>/docs/index.rst
16# |
17# +---docs
18# | |
19# \- all documents from <TFM_ROOT_DIR>/docs except index.rst
20# |
21# +---lib
22# | |
23# | \- All document from <TFM_ROOT_DIR>/lib keeping reativle location
24# ...
25# |
26#
27#Usage:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020028# cmake -DDST_DIR=<path to destination> -DTFM_ROOT_DIR=<path to tf-m root> \
Gyorgy Szing74dae3c2018-09-27 17:00:46 +020029# -P SphinxCopyDoc.cmake
30
31#Check input parameters
32foreach(_PARAM IN ITEMS TFM_ROOT_DIR DST_DIR)
33 if (NOT DEFINED ${_PARAM})
34 message(FATAL_ERROR "Variable ${_PARAM} is undefined. Please add -D${_PARAM}=<...> when calling this script.")
35 endif()
36endforeach()
37
38message(STATUS "Creating document tree for Sphinx under ${DST_DIR}")
39
40#List all document files.
41file(GLOB_RECURSE _COPY_FILES
42 LIST_DIRECTORIES false
43 RELATIVE "${TFM_ROOT_DIR}"
44 "${TFM_ROOT_DIR}/*.md"
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020045 "${TFM_ROOT_DIR}/*.rst"
Antonio de Angelisb9bba1a2019-05-08 10:28:22 +010046 "${TFM_ROOT_DIR}/*.png"
47 "${TFM_ROOT_DIR}/*.jpg"
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020048 "${TFM_ROOT_DIR}/dco.txt")
Gyorgy Szing74dae3c2018-09-27 17:00:46 +020049
50#Subtract exluded files from copy files
51list(REMOVE_ITEM _COPY_FILES "docs/index.rst")
52
53#Copy files with directory tree.
54foreach(_FILE ${_COPY_FILES})
55 get_filename_component(_DIR ${_FILE} DIRECTORY)
56 file(COPY ${_FILE} DESTINATION "${DST_DIR}/${_DIR}")
57endforeach()
58
59#Copy index.rst to the top level
60file(COPY "${TFM_ROOT_DIR}/docs/index.rst" DESTINATION "${DST_DIR}")