annotate doc/html/CMakeLists.txt @ 215:268b66d72ec0 default tip @

misc: remove Javascript bindings, closes #2402
author David Demelier <markand@malikania.fr>
date Thu, 10 Oct 2019 13:52:57 +0200
parents 10687519f46e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
196
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for malikania
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 project(html)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 option(MALIKANIA_WITH_HTML "Enable HTML documentation" On)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
200
0a285d62ace7 windows: initial VS2017 support
David Demelier <markand@malikania.fr>
parents: 197
diff changeset
23 find_package(marker QUIET)
196
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 if (marker_FOUND)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 if (MALIKANIA_WITH_HTML)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 malikania_setg(MALIKANIA_HAS_HTML On)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 malikania_setg(MALIKANIA_HAS_HTML_MSG "Yes")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 else ()
207
10687519f46e cmake: fix various problems
David Demelier <markand@malikania.fr>
parents: 200
diff changeset
30 malikania_setg(MALIKANIA_HAS_HTML Off)
196
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 malikania_setg(MALIKANIA_HAS_HTML_MSG "No (disabled by user)")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 endif ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 else ()
207
10687519f46e cmake: fix various problems
David Demelier <markand@malikania.fr>
parents: 200
diff changeset
34 malikania_setg(MALIKANIA_HAS_HTML Off)
196
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 malikania_setg(MALIKANIA_HAS_HTML_MSG "No (marker not found)")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 endif ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 if (NOT MALIKANIA_HAS_HTML)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 return ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 endif ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 foreach (file ${DOC_SOURCES})
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 get_filename_component(dirname ${file} DIRECTORY)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 get_filename_component(basename ${file} NAME_WE)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 if (NOT dirname OR dirname STREQUAL "")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 set(dirname ".")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 endif ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 set(input ${doc_SOURCE_DIR}/src/${file})
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 set(output ${html_BINARY_DIR}/${dirname}/${basename}.html)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 set(template ${html_SOURCE_DIR}/template.html)
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 # Determine baseurl.
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 file(RELATIVE_PATH baseurl ${html_BINARY_DIR}/${dirname} ${html_BINARY_DIR})
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 if (NOT baseurl OR baseurl STREQUAL "")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 set(baseurl "./")
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 endif ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 add_custom_command(
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 OUTPUT ${output}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 COMMAND
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 ${CMAKE_COMMAND} -E make_directory ${html_BINARY_DIR}/${dirname}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 COMMAND
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 $<TARGET_FILE:marker::marker>
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 -t ${template}
197
b203bde850cb doc: update template
David Demelier <markand@malikania.fr>
parents: 196
diff changeset
68 -v title=${basename}
196
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 -v baseurl=${baseurl}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 $<TARGET_FILE:marker::libmarker-bulma>
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 ${output}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 ${input}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 DEPENDS ${input} ${template}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 )
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
75
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 list(APPEND outputs ${output})
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 endforeach ()
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 add_custom_target(
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 html ALL
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 COMMAND
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 ${CMAKE_COMMAND} -E copy_directory ${html_SOURCE_DIR}/css ${html_BINARY_DIR}/css
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 COMMAND
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 ${CMAKE_COMMAND} -E copy_directory ${html_SOURCE_DIR}/js ${html_BINARY_DIR}/js
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 SOURCES ${outputs}
5b0f7ffab962 doc: initial html support
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 )