summaryrefslogtreecommitdiffstats
path: root/src/seastar/doc/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/seastar/doc/CMakeLists.txt')
-rw-r--r--src/seastar/doc/CMakeLists.txt58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/seastar/doc/CMakeLists.txt b/src/seastar/doc/CMakeLists.txt
new file mode 100644
index 000000000..30cb08e30
--- /dev/null
+++ b/src/seastar/doc/CMakeLists.txt
@@ -0,0 +1,58 @@
+find_program (Seastar_DOXYGEN_EXECUTABLE doxygen)
+
+configure_file (
+ ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
+ ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
+ @ONLY)
+
+configure_file (
+ ${CMAKE_CURRENT_SOURCE_DIR}/DoxygenLayout.xml
+ ${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml
+ COPYONLY)
+
+add_custom_target (doc_api
+ COMMAND ${Seastar_DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
+
+add_custom_command (
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/tutorial.html
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.md
+ COMMAND
+ ${CMAKE_CURRENT_SOURCE_DIR}/md2html
+ ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.md
+ ${CMAKE_CURRENT_BINARY_DIR}/html/tutorial.html)
+
+add_custom_target (doc_tutorial_html
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/tutorial.html)
+
+add_custom_command (
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/split
+ DEPENDS
+ # Necessary because file-level dependencies are not propagated for custom targets.
+ ${CMAKE_CURRENT_BINARY_DIR}/html/tutorial.html
+ doc_tutorial_html
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/html/split
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/htmlsplit.py
+ --input ${CMAKE_CURRENT_BINARY_DIR}/html/tutorial.html
+ --output-dir ${CMAKE_CURRENT_BINARY_DIR}/html/split)
+
+add_custom_target (doc_tutorial_html_split
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/split)
+
+add_custom_command (
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tutorial.pdf
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.md
+ COMMAND
+ ${CMAKE_CURRENT_SOURCE_DIR}/md2pdf
+ ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.md
+ ${CMAKE_CURRENT_BINARY_DIR}/tutorial.pdf)
+
+add_custom_target (doc_tutorial_pdf
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tutorial.pdf)
+
+# Logical target for all documentation.
+add_custom_target (docs
+ DEPENDS
+ doc_api
+ doc_tutorial_html
+ doc_tutorial_html_split
+ doc_tutorial_pdf)