Mercurial > irccd
comparison plugins/CMakeLists.txt @ 257:60b94daf4d24
CMake: update irccd_define_plugin, closes #534
Also add a native debugging plugin.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 13 Sep 2016 12:57:17 +0200 |
parents | f04acabfbbe5 |
children | c6fbb6e0e06d |
comparison
equal
deleted
inserted
replaced
256:f04acabfbbe5 | 257:60b94daf4d24 |
---|---|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
17 # | 17 # |
18 | 18 |
19 project(plugins) | 19 project(plugins) |
20 | 20 |
21 add_custom_target( | 21 set( |
22 all-plugins ALL | 22 IRCCD_PLUGINS |
23 COMMENT "Irccd plugins" | 23 ask |
24 ) | 24 auth |
25 | 25 hangman |
26 set_target_properties( | 26 history |
27 all-plugins | 27 logger |
28 PROPERTIES | 28 plugin |
29 FOLDER meta | 29 roulette |
30 CACHE INTERNAL "" | |
30 ) | 31 ) |
31 | 32 |
32 foreach (plugin ${IRCCD_PLUGINS}) | 33 foreach (plugin ${IRCCD_PLUGINS}) |
33 string(TOUPPER ${plugin} optname) | 34 irccd_define_plugin( |
35 NAME ${plugin} | |
36 TYPE JS | |
37 SCRIPT ${plugins_SOURCE_DIR}/${plugin}/${plugin}.js | |
38 DOCS ${plugins_SOURCE_DIR}/${plugin}/${plugin}.md | |
39 ) | |
40 endforeach () | |
34 | 41 |
35 if (WITH_PLUGIN_${optname}) | 42 # Debug plugins. |
36 # 1. Configure the plugin and install it. | 43 irccd_define_plugin( |
37 irccd_define_plugin(${plugin}/${plugin}.js) | 44 NAME debugnative |
38 | 45 TYPE NATIVE |
39 # 2. Build documentation. | 46 SOURCES ${plugins_SOURCE_DIR}/debugnative/main.cpp |
40 if (WITH_HTML) | 47 ) |
41 set(basedocdir ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}) | |
42 file(RELATIVE_PATH baseurl ${basedocdir}/plugin ${basedocdir}) | |
43 | |
44 pandoc( | |
45 OUTPUT ${basedocdir}/plugin/${plugin}.html | |
46 SOURCES ${plugin}/${plugin}.md | |
47 TEMPLATE ${resources_SOURCE_DIR}/template.html | |
48 DEPENDS | |
49 ${resources_SOURCE_DIR}/template.html | |
50 docs-resources | |
51 ARGS -Vguide | |
52 VARIABLE baseurl:${baseurl} | |
53 FROM markdown TO html5 | |
54 STANTALONE MAKE_DIRECTORY TOC | |
55 ) | |
56 | |
57 list(APPEND outputs ${basedocdir}/plugin/${plugin}.html) | |
58 install( | |
59 FILES ${basedocdir}/plugin/${plugin}.html | |
60 COMPONENT ${plugin} | |
61 DESTINATION ${WITH_DOCDIR}/plugin | |
62 ) | |
63 string(TOUPPER ${plugin} CMP) | |
64 setg(CPACK_COMPONENT_${CMP}_DESCRIPTION "Install ${plugin}.") | |
65 setg(CPACK_COMPONENT_${CMP}_GROUP "Plugins") | |
66 endif () | |
67 | |
68 add_custom_target( | |
69 plugin-${plugin} | |
70 SOURCES | |
71 ${outputs} | |
72 ${plugin}/${plugin}.js | |
73 ${plugin}/${plugin}.md | |
74 ) | |
75 | |
76 set_target_properties( | |
77 plugin-${plugin} | |
78 PROPERTIES | |
79 PROJECT_LABEL ${plugin} | |
80 FOLDER plugins | |
81 ) | |
82 | |
83 add_dependencies(all-plugins plugin-${plugin}) | |
84 endif () | |
85 endforeach () |