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
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
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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()