|
1 | | -# Copyright (c) Glyn Matthews 2018-19. |
| 1 | +# Copyright (c) Glyn Matthews 2018-20. |
2 | 2 | # Distributed under the Boost Software License, Version 1.0. |
3 | 3 | # (See accompanying file LICENSE_1_0.txt or copy at |
4 | 4 | # http://www.boost.org/LICENSE_1_0.txt) |
5 | 5 |
|
6 | | -LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") |
| 6 | +include(${Skyr_SOURCE_DIR}/cmake/SkyrFunctions.cmake) |
| 7 | + |
| 8 | +LIST(APPEND CMAKE_MODULE_PATH "${Skyr_SOURCE_DIR}/cmake") |
7 | 9 |
|
8 | 10 | find_package(Doxygen REQUIRED) |
9 | 11 | find_package(Pandoc REQUIRED) |
@@ -37,18 +39,22 @@ endforeach() |
37 | 39 |
|
38 | 40 | # Generate API documentation using Doxygen |
39 | 41 | configure_file( |
40 | | - ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in |
| 42 | + Doxyfile.in |
41 | 43 | ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) |
42 | 44 |
|
43 | 45 | configure_file( |
44 | | - ${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in |
| 46 | + conf.py.in |
45 | 47 | ${CMAKE_CURRENT_BINARY_DIR}/conf.py @ONLY) |
46 | 48 |
|
47 | | -add_custom_target(doxygen ALL |
| 49 | +add_custom_target( |
| 50 | + doxygen ALL |
48 | 51 | COMMAND |
49 | | - ${DOXYGEN} |
50 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
51 | | - COMMENT "Generating documentation with Doxygen") |
| 52 | + ${DOXYGEN} |
| 53 | + WORKING_DIRECTORY |
| 54 | + ${CMAKE_CURRENT_BINARY_DIR} |
| 55 | + COMMENT |
| 56 | + "Generating documentation with Doxygen" |
| 57 | +) |
52 | 58 |
|
53 | 59 | # Convert markdown to RST |
54 | 60 | SET( |
|
58 | 64 | ) |
59 | 65 |
|
60 | 66 | foreach (file_name ${GENERATED_FROM_MARKDOWN}) |
61 | | - _remove_extension(${file_name} basename) |
| 67 | + remove_extension(${file_name} basename) |
62 | 68 | string(TOUPPER ${basename} basename_upper) |
63 | | - add_custom_target(${file_name} |
64 | | - pandoc ${CMAKE_SOURCE_DIR}/${basename_upper}.md -f markdown -t rst -s -o ${CMAKE_CURRENT_BINARY_DIR}/${file_name} |
65 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
66 | | - BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${file_name} |
67 | | - COMMENT "Generating RST file with pandoc" VERBATIM) |
| 69 | + set(target ${basename}) |
| 70 | + string(PREPEND target "doc_") |
| 71 | + add_custom_target( |
| 72 | + ${target} |
| 73 | + pandoc ${Skyr_SOURCE_DIR}/${basename_upper}.md -f markdown -t rst -s -o ${CMAKE_CURRENT_BINARY_DIR}/${file_name} |
| 74 | + WORKING_DIRECTORY |
| 75 | + ${CMAKE_CURRENT_BINARY_DIR} |
| 76 | + BYPRODUCTS |
| 77 | + ${CMAKE_CURRENT_BINARY_DIR}/${file_name} |
| 78 | + COMMENT |
| 79 | + "Generating RST file with pandoc" VERBATIM |
| 80 | + ) |
68 | 81 | endforeach() |
69 | 82 |
|
70 | 83 | # Bring it all together using Sphinx |
71 | | -add_custom_target(doc ALL |
| 84 | +add_custom_target( |
| 85 | + doc ALL |
72 | 86 | COMMAND |
73 | | - ${SPHINX_EXECUTABLE} -M html ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} |
74 | | - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
75 | | - DEPENDS doxygen ${GENERATED_FROM_MARKDOWN} |
76 | | - COMMENT "Generating documentation with Sphinx") |
| 87 | + ${SPHINX_EXECUTABLE} -M html ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} |
| 88 | + WORKING_DIRECTORY |
| 89 | + ${CMAKE_CURRENT_BINARY_DIR} |
| 90 | + DEPENDS |
| 91 | + doxygen ${GENERATED_FROM_MARKDOWN} |
| 92 | + COMMENT |
| 93 | + "Generating documentation with Sphinx" |
| 94 | +) |
0 commit comments