Mercurial > irccd
annotate cmake/function/IrccdBuildHtml.cmake @ 489:349fe29d86d5
Tests: switch to Boost, closes #680
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 20 Aug 2017 08:16:39 +0200 |
parents | daf3aa8b2ddb |
children | bb9771fb5f44 |
rev | line source |
---|---|
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # IrccdBuildHtml.cmake -- CMake build system for irccd |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
394 | 4 # Copyright (c) 2013-2017 David Demelier <markand@malikania.fr> |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # Permission to use, copy, modify, and/or distribute this software for any |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # purpose with or without fee is hereby granted, provided that the above |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # copyright notice and this permission notice appear in all copies. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 include(CMakeParseArguments) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # irccd_build_html |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # ------------------------------------------------------------------- |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 # irccd_build_html( |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 # COMPONENT (Optional) install the output documentation as the given component |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 # OUTPUT (Optional) override output path |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 # OUTPUT_VAR (Optional) store the output file in the output variable |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 # SOURCE the source markdown file |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 # ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 # Create a rule to build the markdown file specified by SOURCE parameter. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 # By default, the output file is built in the same directory relative to the |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 # current project. Specifying /foo/bar/baz/foo.md as SOURCE from the |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 # directory /foo/var ends in an output file baz/foo.html. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 # The output file path can be overriden with the OUTPUT variable which must be |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 # relative and must contain the filename without extension (e.g. api/misc/Foo). |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 # This macro does not create a target, just the output rule and the output file |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 # can be retrieved using the OUTPUT_VAR variable. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 # Example: |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 # irccd_build_html( |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 # COMPONENT documentation |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 # OUTPUT dev/howto-create-a-plugin |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 # SOURCE myfile.md |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 # OUTPUT_VAR output |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 # ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 # add_custom_target(mytarget DEPENDS ${output}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 # It's perfectly safe to call this macro multiple times with the same COMPONENT. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 macro(irccd_build_html) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 set(oneValueArgs COMPONENT OUTPUT OUTPUT_VAR SOURCE) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 cmake_parse_arguments(HTML "" "${oneValueArgs}" "" ${ARGN}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 if (NOT HTML_SOURCE) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 message(FATAL_ERROR "Missing SOURCE parameter") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 # Example with SOURCES set to CMAKE_CURRENT_SOURCE_DIR/api/event/onMessage.md |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 # Extract the following variables: |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 # dirname: api/event |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 # basename: onMessage |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 # baseurl: ../../ |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 # |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 if (HTML_OUTPUT) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 if (IS_ABSOLUTE ${HTML_OUTPUT}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 message(FATAL_ERROR "OUTPUT variable must not be absolute") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 get_filename_component(dirname ${HTML_OUTPUT} DIRECTORY) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 get_filename_component(basename ${HTML_OUTPUT} NAME) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 else() |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 get_filename_component(dirname ${HTML_SOURCE} DIRECTORY) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 file(RELATIVE_PATH dirname ${CMAKE_CURRENT_SOURCE_DIR} ${dirname}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 get_filename_component(basename ${HTML_SOURCE} NAME) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 # Remove extension from basename. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 string(REGEX REPLACE "^(.*)\\.md$" "\\1" basename ${basename}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 file( |
485
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
93 RELATIVE_PATH |
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
94 baseurl |
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
95 ${CMAKE_CURRENT_BINARY_DIR}/${dirname} |
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
96 ${CMAKE_CURRENT_BINARY_DIR}/ |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 if (baseurl STREQUAL "") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 set(baseurl "./") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 # Replace CMake variables. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 configure_file( |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 ${HTML_SOURCE} |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.md |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 @ONLY |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 # Create a list of parents for the breadcrumb widget. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 string(REPLACE "/" ";" parentlist "${dirname}") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 set(parents " -\n") |
421
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
113 set(parents "${parents} active: true\n") |
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
114 set(parents "${parents} name: \"Home\"\n") |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 set(parents "${parents} path: \"${baseurl}index.html\"\n") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 set(path "${baseurl}") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 foreach (p ${parentlist}) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 set(path "${path}${p}/") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 set(parents "${parents} -\n") |
421
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
121 |
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
122 if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${dirname}/${path}index.md) |
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
123 set(parents "${parents} active: true\n") |
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
124 endif () |
5e9b7ff956b3
Docs: reduce index.md and improve breadcrumb, closes #623
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
125 |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 set(parents "${parents} name: \"${p}\"\n") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 set(parents "${parents} path: \"${path}index.html\"\n") |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 endforeach () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 configure_file( |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 ${html_SOURCE_DIR}/resources/metadata.yml |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.yml |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 # Pandoc the file. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 pandoc( |
485
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
137 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 SOURCES |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.yml |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.md |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 DEPENDS ${HTML_SOURCE} |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 TEMPLATE ${html_SOURCE_DIR}/resources/template.html |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 FROM markdown |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 TO html5 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 STANDALONE TOC MAKE_DIRECTORY |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 # Install the documentation file as component if provided. |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 if (HTML_COMPONENT) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 install( |
485
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
151 FILES ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 COMPONENT ${HTML_COMPONENT} |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 DESTINATION ${WITH_DOCDIR}/${dirname} |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 ) |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 if (HTML_OUTPUT_VAR) |
485
daf3aa8b2ddb
CMake: get rid of fakeroot mechanism, closes #674
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
158 set(${HTML_OUTPUT_VAR} ${CMAKE_CURRENT_BINARY_DIR}/${dirname}/${basename}.html) |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 endif () |
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 endmacro () |