0
|
1 #
|
|
2 # CMakeLists.txt -- CMake build system for malikania
|
|
3 #
|
|
4 # Copyright (c) 2013-2016 Malikania Authors
|
|
5 #
|
|
6 # Permission to use, copy, modify, and/or distribute this software for any
|
|
7 # purpose with or without fee is hereby granted, provided that the above
|
|
8 # copyright notice and this permission notice appear in all copies.
|
|
9 #
|
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
17 #
|
|
18
|
|
19 project(docs)
|
|
20
|
|
21 add_custom_target(
|
|
22 docs
|
|
23 ALL
|
|
24 COMMENT "Generating documentation"
|
|
25 )
|
|
26
|
|
27 #
|
|
28 # Doxygen generation.
|
|
29 # -------------------------------------------------------------------
|
|
30 #
|
|
31
|
|
32 find_package(Doxygen)
|
|
33
|
|
34 if (DOXYGEN_FOUND)
|
|
35 if (WITH_DOCS_DOXYGEN)
|
|
36 setg(WITH_DOCS_DOXYGEN_MSG "Yes")
|
|
37 else ()
|
|
38 setg(WITH_DOCS_DOXYGEN_MSG "No (disabled by user)")
|
|
39 endif ()
|
|
40 else ()
|
|
41 setg(WITH_DOCS_DOXYGEN_MSG "No (doxygen not found)")
|
|
42 setg(WITH_DOCS_DOXYGEN Off)
|
|
43 endif ()
|
|
44
|
|
45 if (WITH_DOCS_DOXYGEN)
|
|
46 add_subdirectory(doxygen)
|
|
47 endif ()
|
|
48
|
|
49 #
|
|
50 # UML generation with plantuml.
|
|
51 # -------------------------------------------------------------------
|
|
52 #
|
|
53
|
|
54 find_package(Java COMPONENTS Runtime)
|
|
55
|
|
56 if (Java_JAVA_EXECUTABLE AND DOXYGEN_DOT_EXECUTABLE)
|
|
57 if (WITH_DOCS_UML)
|
|
58 setg(WITH_DOCS_UML_MSG "Yes")
|
|
59 else ()
|
|
60 setg(WITH_DOCS_UML_MSG "No (disabled by user)")
|
|
61 endif ()
|
|
62 elseif (NOT Java_JAVA_EXECUTABLE)
|
|
63 setg(WITH_DOCS_UML_MSG "No (Java not found)")
|
|
64 setg(WITH_DOCS_UML Off)
|
|
65 elseif (NOT DOXYGEN_DOT_EXECUTABLE)
|
|
66 setg(WITH_DOCS_UML_MSG "No (dot not found)")
|
|
67 setg(WITH_DOCS_UML Off)
|
|
68 endif ()
|
|
69
|
|
70 if (WITH_DOCS_UML)
|
|
71 add_subdirectory(UML)
|
|
72 endif ()
|
|
73
|
|
74 #
|
|
75 # Books, specifications, docs generation.
|
|
76 # -------------------------------------------------------------------
|
|
77 #
|
|
78
|
|
79 find_package(Pandoc)
|
|
80 find_package(LATEX)
|
|
81
|
|
82 if (Pandoc_FOUND AND (PDFLATEX_COMPILER OR LATEX_COMPILER OR BIBTEX_COMPILER OR MAKEINDEX_COMPILER))
|
|
83 if (WITH_DOCS_BOOKS)
|
|
84 setg(WITH_DOCS_BOOKS_MSG "Yes")
|
|
85 else ()
|
|
86 setg(WITH_DOCS_BOOKS_MSG "No (disabled by user)")
|
|
87 endif ()
|
|
88 elseif (NOT Pandoc_FOUND)
|
|
89 setg(WITH_DOCS_BOOKS_MSG "No (pandoc not found)")
|
|
90 setg(WITH_DOCS_BOOKS Off)
|
|
91 elseif (NOT PDFLATEX_COMPILER)
|
|
92 setg(WITH_DOCS_BOOKS_MSG "No (pdflatex not found)")
|
|
93 setg(WITH_DOCS_BOOKS Off)
|
|
94 endif ()
|
|
95
|
|
96 if (WITH_DOCS_BOOKS)
|
|
97 add_subdirectory(books)
|
|
98 endif ()
|