annotate cmake/function/IrccdDefinePlugin.cmake @ 773:8c44bbcbbab9

Misc: style, cleanup and update
author David Demelier <markand@malikania.fr>
date Fri, 26 Oct 2018 13:01:00 +0200
parents d8bf53170fb6
children 80bccab4a093
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 #
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 513
diff changeset
4 # Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
0
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
659
e9adad05580f CMake: style #782
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
21 # -------------------
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
23 # Synopsis for Javascript plugins.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
24 #
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
25 # irccd_define_plugin(
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
26 # NAME canonical plugin name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
27 # TYPE JS
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
28 # DOCS documentation files in markdown
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
29 # SCRIPT absolute path to the Javascript file (ending with .js)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
30 # )
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
31 #
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
32 # Synopsis for native plugins.
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
33 #
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
34 # irccd_define_plugin(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
35 # NAME canonical plugin name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
36 # TYPE NATIVE
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
37 # DOCS documentation files in markdown
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
38 # SOURCES c++ source files
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
39 # LIBRARIES additional libraries
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
40 # )
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 #
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
42 # Create a Javascript or native plugin.
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
43 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
44 # 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
45 # plugin filename.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
46 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
47 # 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
48 # 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
49 # 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
50 # be given as SOURCES parameter.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
51 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
52 # 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
53 # plugin using DOCS parameter.
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
54 #
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
55 # 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
56 # uppercase NAME value.
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 #
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
58
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
59 function(_irccd_define_javascript_plugin)
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
60 if (NOT PLG_SCRIPT)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
61 message(FATAL_ERROR "Missing SCRIPT parameter")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
62 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
63
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
64 get_filename_component(name ${PLG_SCRIPT} NAME)
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
65
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
66 configure_file(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
67 ${PLG_SCRIPT}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
68 ${CMAKE_CURRENT_BINARY_DIR}/${name}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
69 )
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
70
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
71 install(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
72 FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
73 COMPONENT ${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
74 DESTINATION ${CMAKE_INSTALL_LIBDIR}/irccd
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
75 )
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
76
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
77 add_custom_target(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
78 plugin-${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
79 ALL
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
80 DEPENDS ${PLG_OUTPUT_DOC}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
81 SOURCES ${PLG_SCRIPT} ${PLG_DOCS}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
82 )
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
83 endfunction()
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
84
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
85 function(_irccd_define_native_plugin)
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
86 if (NOT PLG_SOURCES)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
87 message(FATAL_ERROR "Missing SOURCES parameter")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
88 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
89
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
90 add_library(plugin-${PLG_NAME} MODULE ${PLG_SOURCES} ${PLG_OUTPUT_DOC} ${PLG_DOCS})
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
91 target_link_libraries(plugin-${PLG_NAME} libirccd ${PLG_LIBRARIES})
703
97a04a04e0a2 CMake: change native plugin output name
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
92
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
93 # Change output name.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
94 set_target_properties(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
95 plugin-${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
96 PROPERTIES
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
97 PREFIX ""
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
98 OUTPUT_NAME ${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
99 )
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
100 foreach (cfg ${CMAKE_CONFIGURATION_TYPES})
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
101 string(TOUPPER ${cfg} CFG)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
102 set_target_properties(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
103 plugin-${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
104 PROPERTIES
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
105 PREFIX ""
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
106 OUTPUT_NAME_${CFG} ${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
107 )
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
108 endforeach ()
703
97a04a04e0a2 CMake: change native plugin output name
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
109
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
110 install(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
111 TARGETS plugin-${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
112 COMPONENT ${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
113 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/irccd
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
114 )
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
115 endfunction()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
116
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
117 function(irccd_define_plugin)
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
118 set(options "")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
119 set(oneValueArgs NAME DOCS TYPE SCRIPT)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
120 set(multiValueArgs SOURCES LIBRARIES)
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
121
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
122 cmake_parse_arguments(PLG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
123
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
124 if (NOT PLG_NAME)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
125 message(FATAL_ERROR "Missing NAME parameter")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
126 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
127
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
128 string(TOUPPER ${PLG_NAME} PLG_UPPER_NAME)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
129 option(IRCCD_WITH_PLUGIN_${PLG_UPPER_NAME} "Enable ${PLG_NAME} plugin" On)
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
130
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
131 if (NOT IRCCD_WITH_PLUGIN_${PLG_UPPER_NAME})
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
132 setg(IRCCD_WITH_PLUGIN_${PLG_UPPER_NAME}_MSG "No (disabled by user)")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
133 else ()
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
134 setg(IRCCD_WITH_PLUGIN_${PLG_UPPER_NAME}_MSG "Yes")
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
135
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
136 # Optional documentation.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
137 if (PLG_DOCS AND HAVE_HTML)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
138 irccd_build_html(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
139 SOURCE ${PLG_DOCS}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
140 OUTPUT plugin/${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
141 COMPONENT ${PLG_NAME}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
142 OUTPUT_VAR PLG_OUTPUT_DOC
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
143 )
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
144 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
145
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
146 if (PLG_TYPE MATCHES "JS")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
147 _irccd_define_javascript_plugin()
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
148 elseif (PLG_TYPE MATCHES "NATIVE")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
149 _irccd_define_native_plugin()
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
150 else ()
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
151 message(FATAL_ERROR "Invalid TYPE given, must be JS or NATIVE")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
152 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
153
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
154 # Component grouping in installer.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
155 setg(CPACK_COMPONENT_${PLG_UPPER_NAME}_GROUP "Plugins")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
156 setg(CPACK_COMPONENT_${PLG_UPPER_NAME}_DESCRIPTION "Install ${PLG_NAME} plugin.")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
157 endif ()
257
60b94daf4d24 CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents: 207
diff changeset
158 endfunction()