annotate cmake/function/IrccdDefinePlugin.cmake @ 369:5aca8eeebcf1

Docs: list plugins in index
author David Demelier <markand@malikania.fr>
date Tue, 06 Dec 2016 13:17:27 +0100
parents c143682678b9
children c6fbb6e0e06d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # IrccdDefinePlugin.cmake -- CMake build system for irccd
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2013-2016 David Demelier <markand@malikania.fr>
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # irccd_define_plugin
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 # -------------------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
23 # irccd_define_plugin(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
24 # NAME canonical plugin name
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
25 # TYPE JS or NATIVE
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
26 # DOCS documentation files in markdown
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
27 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
28 # Options for TYPE JS:
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
29 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
30 # SCRIPT absolute path to the Javascript file (ending with .js)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
31 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
32 # Options for TYPE NATIVE:
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
33 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
34 # SOURCES c++ source files
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 #
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
36 # Create a Javascript or Native plugin.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
37 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
38 # The NAME parameter identifies the plugin. The same name will be used for the
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
39 # plugin filename.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
40 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
41 # Both Javascript and native plugins are supported specified by the TYPE
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
42 # parameter to JS or NATIVE respectively. For Javascript plugin, a unique file
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
43 # must be given as SCRIPT parameter. For native plugins, any source files can
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
44 # be given as SOURCES parameter.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
45 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
46 # Additional documentation can be built in markdown and installed along the
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
47 # plugin using DOCS parameter.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
48 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
49 # A CMake option is also created in the form OPTION_<PLG> where PLG is the
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
50 # uppercase NAME value.
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 #
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
52
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
53 function(_irccd_define_javascript_plugin)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
54 if (NOT PLG_SCRIPT)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
55 message(FATAL_ERROR "Missing SCRIPT parameter")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
56 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
57
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
58 get_filename_component(name ${PLG_SCRIPT} NAME)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
59
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
60 configure_file(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
61 ${PLG_SCRIPT}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
62 ${IRCCD_FAKEROOTDIR}/${WITH_PLUGINDIR}/${name}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
63 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
64
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
65 install(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
66 FILES ${IRCCD_FAKEROOTDIR}/${WITH_PLUGINDIR}/${name}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
67 COMPONENT ${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
68 DESTINATION ${WITH_PLUGINDIR}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
69 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
70
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
71 add_custom_target(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
72 plugin-${PLG_NAME}
259
0fd0290d61b4 CMake: add ALL to add_custom_target for plugins
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
73 ALL
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
74 DEPENDS ${PLG_OUTPUT_DOC}
274
750157368a42 CMake: add documentation to plugin targets
David Demelier <markand@malikania.fr>
parents: 263
diff changeset
75 SOURCES ${PLG_SCRIPT} ${PLG_DOCS}
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
76 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
77 endfunction()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
78
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
79 function(_irccd_define_native_plugin)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
80 if (NOT PLG_SOURCES)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
81 message(FATAL_ERROR "Missing SOURCES parameter")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
82 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
83
274
750157368a42 CMake: add documentation to plugin targets
David Demelier <markand@malikania.fr>
parents: 263
diff changeset
84 add_library(plugin-${PLG_NAME} MODULE ${PLG_SOURCES} ${PLG_OUTPUT_DOC} ${PLG_DOCS})
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
85
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
86 # Move the target into the native plugin directory and rename it.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
87 set_target_properties(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
88 plugin-${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
89 PROPERTIES
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
90 PREFIX ""
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
91 OUTPUT_NAME ${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
92 LIBRARY_OUTPUT_DIRECTORY ${IRCCD_FAKEROOTDIR}/${WITH_NPLUGINDIR}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
93 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
94 foreach (c ${CMAKE_CONFIGURATION_TYPES})
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
95 string(TOUPPER CONFIG ${c})
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
96 set_target_properties(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
97 plugin-${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
98 PROPERTIES
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
99 OUTPUT_NAME_${CONFIG} ${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
100 LIBRARY_OUTPUT_DIRECTORY_${CONFIG} ${IRCCD_FAKEROOTDIR}/${WITH_NPLUGINDIR}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
101 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
102 endforeach()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
103 target_link_libraries(plugin-${PLG_NAME} libirccd)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
104 install(
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
105 TARGETS plugin-${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
106 COMPONENT ${PLG_NAME}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
107 LIBRARY DESTINATION ${WITH_NPLUGINDIR}
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
108 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
109 endfunction()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
110
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
111 function(irccd_define_plugin)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
112 set(options "")
275
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
113 set(oneValueArgs NAME DOCS TYPE SCRIPT)
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
114 set(multiValueArgs SOURCES)
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
115
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
116 cmake_parse_arguments(PLG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
117
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
118 if (NOT PLG_NAME)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
119 message(FATAL_ERROR "Missing NAME parameter")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
120 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
121
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
122 string(TOUPPER ${PLG_NAME} PLG_UPPER_NAME)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
123 option(WITH_PLUGIN_${PLG_UPPER_NAME} "Enable ${PLG_NAME} plugin" On)
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
124
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
125 if (NOT WITH_PLUGIN_${PLG_UPPER_NAME})
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
126 setg(WITH_PLUGIN_${PLG_UPPER_NAME}_MSG "No (disabled by user)")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
127 else ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
128 setg(WITH_PLUGIN_${PLG_UPPER_NAME}_MSG "Yes")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
129
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
130 # Optional documentation.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
131 if (PLG_DOCS AND WITH_HTML)
275
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
132 irccd_build_html(
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
133 SOURCE ${PLG_DOCS}
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
134 OUTPUT plugin/${PLG_NAME}
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
135 COMPONENT ${PLG_NAME}
275
c143682678b9 CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents: 274
diff changeset
136 OUTPUT_VAR PLG_OUTPUT_DOC
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
137 )
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
138 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
139
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
140 if (PLG_TYPE MATCHES "JS")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
141 _irccd_define_javascript_plugin()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
142 elseif (PLG_TYPE MATCHES "NATIVE")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
143 _irccd_define_native_plugin()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
144 else ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
145 message(FATAL_ERROR "Invalid TYPE given, must be JS or NATIVE")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
146 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
147
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
148 # Component grouping in installer.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
149 setg(CPACK_COMPONENT_${PLG_UPPER_NAME}_GROUP "Plugins")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
150 setg(CPACK_COMPONENT_${PLG_UPPER_NAME}_DESCRIPTION "Install ${PLG_NAME} plugin.")
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
151 endif ()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
152 endfunction()