aboutsummaryrefslogtreecommitdiff
path: root/doc/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r--doc/CMakeLists.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..9c7fdb7
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,24 @@
+function(add_tikz_target TIKZ_FILE TEMPLATE)
+ get_filename_component(basename ${TIKZ_FILE} NAME_WE)
+ set(pdf_file "${basename}.pdf")
+ set(svg_file "${basename}.svg")
+
+ add_custom_command(OUTPUT ${pdf_file}
+ COMMAND echo "'\\def\\\\tikzfile{${CMAKE_CURRENT_SOURCE_DIR}/${TIKZ_FILE}}'" > tmp.tex
+ COMMAND echo "'\\input{${CMAKE_CURRENT_SOURCE_DIR}/template-tex.tex}}'" >> tmp.tex
+ COMMAND pdflatex -jobname ${basename} -file-line-error -interaction nonstopmode tmp.tex >/dev/null
+ COMMAND cmake -E remove tmp.tex
+ MAIN_DEPENDENCY ${TIKZ_FILE}
+ COMMENT "Generating ${pdf_file}"
+ )
+
+ add_custom_command(OUTPUT ${svg_file}
+ COMMAND pdf2svg ${pdf_file} ${svg_file}
+ COMMAND cmake -E copy_if_different ${svg_file} ${CMAKE_CURRENT_SOURCE_DIR}/${svg_file}
+ MAIN_DEPENDENCY ${pdf_file}
+ COMMENT "Generating ${svg_file}"
+ )
+endfunction()
+
+add_tikz_target(flow.tikz template-qtikz.tex)
+add_custom_target(doc DEPENDS flow.svg)