blob: c1f7731ac1c31c92153459d609cd8498d9d54bb5 [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:
28# cmake -DDST_RIR=<path to destination> -DTFM_ROOT_DIR=<path to tf-m root> \
29# -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"
45 "${TFM_ROOT_DIR}/*.rst")
46
47#Subtract exluded files from copy files
48list(REMOVE_ITEM _COPY_FILES "docs/index.rst")
49
50#Copy files with directory tree.
51foreach(_FILE ${_COPY_FILES})
52 get_filename_component(_DIR ${_FILE} DIRECTORY)
53 file(COPY ${_FILE} DESTINATION "${DST_DIR}/${_DIR}")
54endforeach()
55
56#Copy index.rst to the top level
57file(COPY "${TFM_ROOT_DIR}/docs/index.rst" DESTINATION "${DST_DIR}")