Mercurial > irccd
annotate cmake/function/IrccdDefinePlugin.cmake @ 821:6532414a9cbd
tests: fix various errors
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 30 Nov 2018 21:57:36 +0100 |
parents | 49fa22f0b4b9 |
children | d76699e13156 |
rev | line source |
---|---|
0 | 1 # |
2 # IrccdDefinePlugin.cmake -- CMake build system for irccd | |
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 | 5 # |
6 # Permission to use, copy, modify, and/or distribute this software for any | |
7 # purpose with or without fee is hereby granted, provided that the above | |
8 # copyright notice and this permission notice appear in all copies. | |
9 # | |
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 # | |
18 | |
19 # | |
20 # irccd_define_plugin | |
659 | 21 # ------------------- |
0 | 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 |
808
80bccab4a093
plugin links: search uriparser, closes #950 @20m
David Demelier <markand@malikania.fr>
parents:
773
diff
changeset
|
39 # INCLUDES additional includes |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
40 # LIBRARIES additional libraries |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
41 # ) |
0 | 42 # |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
43 # Create a Javascript or native plugin. |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
44 # |
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
45 # 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
|
46 # plugin filename. |
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
47 # |
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
48 # 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
|
49 # 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
|
50 # 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
|
51 # be given as SOURCES parameter. |
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 # 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
|
54 # plugin using DOCS parameter. |
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
55 # |
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
56 # 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
|
57 # uppercase NAME value. |
0 | 58 # |
257
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 function(_irccd_define_javascript_plugin) |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
61 if (NOT PLG_SCRIPT) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
62 message(FATAL_ERROR "Missing SCRIPT parameter") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
63 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
64 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
65 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
|
66 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
67 configure_file( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
68 ${PLG_SCRIPT} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
69 ${CMAKE_CURRENT_BINARY_DIR}/${name} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
70 ) |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
71 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
72 install( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
73 FILES ${CMAKE_CURRENT_BINARY_DIR}/${name} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
74 COMPONENT ${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
75 DESTINATION ${CMAKE_INSTALL_LIBDIR}/irccd |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
76 ) |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
77 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
78 add_custom_target( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
79 plugin-${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
80 ALL |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
81 DEPENDS ${PLG_OUTPUT_DOC} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
82 SOURCES ${PLG_SCRIPT} ${PLG_DOCS} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
83 ) |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
84 endfunction() |
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 function(_irccd_define_native_plugin) |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
87 if (NOT PLG_SOURCES) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
88 message(FATAL_ERROR "Missing SOURCES parameter") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
89 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
90 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
91 add_library(plugin-${PLG_NAME} MODULE ${PLG_SOURCES} ${PLG_OUTPUT_DOC} ${PLG_DOCS}) |
809
8460b4a34191
misc: reorganize namespaces, closes #952 @4h
David Demelier <markand@malikania.fr>
parents:
808
diff
changeset
|
92 target_link_libraries(plugin-${PLG_NAME} libirccd-daemon ${PLG_LIBRARIES}) |
808
80bccab4a093
plugin links: search uriparser, closes #950 @20m
David Demelier <markand@malikania.fr>
parents:
773
diff
changeset
|
93 target_include_directories(plugin-${PLG_NAME} PRIVATE ${PLG_INCLUDES}) |
703
97a04a04e0a2
CMake: change native plugin output name
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
94 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
95 # Change output name. |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
96 set_target_properties( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
97 plugin-${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
98 PROPERTIES |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
99 PREFIX "" |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
100 OUTPUT_NAME ${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
101 ) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
102 foreach (cfg ${CMAKE_CONFIGURATION_TYPES}) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
103 string(TOUPPER ${cfg} CFG) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
104 set_target_properties( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
105 plugin-${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
106 PROPERTIES |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
107 PREFIX "" |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
108 OUTPUT_NAME_${CFG} ${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
109 ) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
110 endforeach () |
703
97a04a04e0a2
CMake: change native plugin output name
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
111 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
112 install( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
113 TARGETS plugin-${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
114 COMPONENT ${PLG_NAME} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
115 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/irccd |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
116 ) |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
117 endfunction() |
0 | 118 |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
119 function(irccd_define_plugin) |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
120 set(options "") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
121 set(oneValueArgs NAME DOCS TYPE SCRIPT) |
808
80bccab4a093
plugin links: search uriparser, closes #950 @20m
David Demelier <markand@malikania.fr>
parents:
773
diff
changeset
|
122 set(multiValueArgs SOURCES INCLUDES LIBRARIES) |
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 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
|
125 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
126 if (NOT PLG_NAME) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
127 message(FATAL_ERROR "Missing NAME parameter") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
128 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
129 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
130 string(TOUPPER ${PLG_NAME} PLG_UPPER_NAME) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
131 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
|
132 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
133 if (NOT IRCCD_WITH_PLUGIN_${PLG_UPPER_NAME}) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
134 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
|
135 else () |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
136 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
|
137 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
138 # Optional documentation. |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
809
diff
changeset
|
139 if (PLG_DOCS) |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
140 irccd_build_html( |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
141 SOURCE ${PLG_DOCS} |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
142 COMPONENT ${PLG_NAME} |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
809
diff
changeset
|
143 OUTPUT_DIR plugin/${PLG_NAME} |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
144 OUTPUT_VAR PLG_OUTPUT_DOC |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
809
diff
changeset
|
145 TEMPLATE ${html_SOURCE_DIR}/template.html |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
146 ) |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
147 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
148 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
149 if (PLG_TYPE MATCHES "JS") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
150 _irccd_define_javascript_plugin() |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
151 elseif (PLG_TYPE MATCHES "NATIVE") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
152 _irccd_define_native_plugin() |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
153 else () |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
154 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
|
155 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
156 |
818
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
157 # Put under "plugins". |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
158 set_target_properties( |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
159 plugin-${PLG_NAME} |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
160 PROPERTIES |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
161 FOLDER "plugins" |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
162 PROJECT_NAME ${PLG_NAME} |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
163 ) |
49fa22f0b4b9
windows: support for VS2017
David Demelier <markand@malikania.fr>
parents:
817
diff
changeset
|
164 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
165 # Component grouping in installer. |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
166 setg(CPACK_COMPONENT_${PLG_UPPER_NAME}_GROUP "Plugins") |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
768
diff
changeset
|
167 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
|
168 endif () |
257
60b94daf4d24
CMake: update irccd_define_plugin, closes #534
David Demelier <markand@malikania.fr>
parents:
207
diff
changeset
|
169 endfunction() |