annotate cmake/IrccdOptions.cmake @ 6:78a9c59de053

Docs: synchronize templates with irccd-web
author David Demelier <markand@malikania.fr>
date Wed, 10 Feb 2016 09:00:58 +0100
parents 1158cffe5a5e
children c619a2932730
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 # Options.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 # Options that controls the build:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 # WITH_SSL Enable OpenSSL (default: on)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 # WITH_JS Enable JavaScript (default: on)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 # WITH_TESTS Enable unit testing (default: off)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 # WITH_SYSTEMD Install systemd service (default: off)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 # WITH_DOCS Enable building of all documentation (default: on)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 # WITH_DOXYGEN Enable internal irccd documentation (default: on)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 # WITH_HTML Enable HTML documentation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 # WITH_MAN Install manpages (default: on, off for Windows)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 # WITH_PLUGIN_<NAME> Enable or disable the specified plugin (default: on)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 # Note: the option() commands for WITH_PLUGIN_<name> variables are defined automatically from the IRCCD_PLUGINS
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 # list.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 # Options that controls both installations and the irccd runtime:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 # Note: it is allowed to use absolute path but it's *strongly* recommended to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 # use relative paths if you want to keep irccd relocatable.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 # WITH_BINDIR Binary directory for irccd, irccdctl
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 # WITH_PLUGINDIR Path where plugins must be installed
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 # WITH_DOCDIR Path where to install documentation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 # WITH_MANDIR Path where to install manuals
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 # WITH_CONFDIR Path where to search configuration files
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 # WITH_CACHEDIR Path where to store temporary files
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 # Options for unit tests only:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 # WITH_TEST_IRCHOST Which IRC server to use for tests (default: 127.0.0.1)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 # WITH_TEST_IRCPORT Which IRC server port to use for tests (default: 6667)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
6
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
57 #
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
58 # Options for developers:
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
59 #
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
60 # WITH_WEB Set to true to use the HTML template for official irccd website.
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
61 #
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
62
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 # Manual pages on Windows are pretty useless.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 if (WIN32)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 set(DEFAULT_MAN "No")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 set(DEFAULT_MAN "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 # Systemd unit file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 if (CMAKE_SYSTEM_NAME MATCHES "Linux")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 set(DEFAULT_SYSTEMD "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 set(DEFAULT_SYSTEMD "No")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 option(WITH_SSL "Enable SSL" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 option(WITH_JS "Enable embedded Duktape" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 option(WITH_TESTS "Enable unit testing" Off)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 option(WITH_SYSTEMD "Install systemd service" ${DEFAULT_SYSTEMD})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 option(WITH_DOCS "Enable building of all documentation" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 option(WITH_HTML "Enable building of HTML documentation" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 option(WITH_DOXYGEN "Enable doxygen" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 option(WITH_MAN "Install man pages" ${DEFAULT_MAN})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 # Build options for all plugins.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 foreach (plugin ${IRCCD_PLUGINS})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 string(TOUPPER ${plugin} optname)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 option(WITH_PLUGIN_${optname} "Enable ${plugin} plugin" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 if (NOT WITH_PLUGIN_${optname})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 set(WITH_PLUGIN_${optname}_MSG "No (disabled by user)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 set(WITH_PLUGIN_${optname}_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 endforeach ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
97
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 set(WITH_TEST_IRCHOST "127.0.0.1" CACHE STRING "IRC host for tests")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 set(WITH_TEST_IRCPORT 6667 CACHE STRING "IRC port for test")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
100
6
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
101 option(WITH_WEB "Use HTML template for official website" Off)
78a9c59de053 Docs: synchronize templates with irccd-web
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
102
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 # Installation paths
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 set(WITH_BINDIR "bin" CACHE STRING "Binary directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 set(WITH_MANDIR "share/man" CACHE STRING "Man directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 set(WITH_CONFDIR "etc" CACHE STRING "Configuration directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
110
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 # On Windows, we install the applcation like C:/Program Files/irccd so do not append irccd to the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 # directories again.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 if (WIN32)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 set(WITH_DATADIR "share" CACHE STRING "Data directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 set(WITH_CACHEDIR "var" CACHE STRING "Temporary files directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 set(WITH_PLUGINDIR "share/plugins" CACHE STRING "Module prefix where to install")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 set(WITH_DOCDIR "share/doc" CACHE STRING "Documentation directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 set(WITH_DATADIR "share/irccd" CACHE STRING "Data directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 set(WITH_CACHEDIR "var/irccd" CACHE STRING "Temporary files directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 set(WITH_PLUGINDIR "share/irccd/plugins" CACHE STRING "Module prefix where to install")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 set(WITH_DOCDIR "share/doc/irccd" CACHE STRING "Documentation directory")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 # Check if any of these path is absolute and mark irccd relocatable
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 # only if all paths are relative
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 set(IRCCD_RELOCATABLE TRUE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 foreach (d WITH_BINDIR WITH_CACHEDIR WITH_DATADIR WITH_CONFDIR WITH_PLUGINDIR)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 if (IS_ABSOLUTE ${${d}})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 list(APPEND IRCCD_ABSOLUTE_PATHS ${d})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 set(IRCCD_RELOCATABLE FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 endforeach ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 if (IRCCD_RELOCATABLE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 set(IRCCD_FAKEDIR ${CMAKE_BINARY_DIR}/fakeroot)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 # Internal dependencies
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
147
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 if (WITH_JS)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 add_subdirectory(extern/duktape)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 set(WITH_JS_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 set(WITH_JS_MSG "No")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
154
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 if (WITH_TESTS)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 add_subdirectory(extern/gtest)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 set(WITH_TESTS_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 set(WITH_TESTS_MSG "No")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
161
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 # External dependencies
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 # ---------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
165
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 find_package(Doxygen)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 find_package(Pandoc)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 find_package(OpenSSL)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
169
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 if (NOT WITH_DOCS)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 set(WITH_HTML FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 set(WITH_DOXYGEN FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 set(WITH_MAN FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
175
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 if (WITH_SSL)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 if (OPENSSL_FOUND)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 set(WITH_SSL_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 set(WITH_SSL_MSG "No (OpenSSL not found)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 set(WITH_SSL FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 else()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 set(WITH_SSL_MSG "No (disabled by user)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 if (WITH_DOXYGEN)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 if (DOXYGEN_FOUND)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 set(WITH_DOXYGEN_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 set(WITH_DOXYGEN_MSG "No (doxygen not found)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 set(WITH_DOXYGEN FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 set(WITH_DOXYGEN_MSG "No (disabled by user)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
197
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 if (WITH_HTML)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 if (Pandoc_FOUND)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 set(WITH_HTML_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 set(WITH_HTML_MSG "No (pandoc not found)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 set(WITH_HTML FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 set(WITH_HTML_MSG "No (disabled by user)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 set(WITH_HTML FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
209
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 # Determine if allowed to package.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 # -------------------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 # Do not move this section because irccd's CMake functions requires the IRCCD_PACKAGE value.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
216
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 find_package(QtIFW)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
218
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 set(IRCCD_PACKAGE FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
220
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
221 if (NOT IRCCD_RELOCATABLE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 set(IRCCD_PACKAGE_MSG "No (irccd not relocatable)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 elseif (NOT WITH_HTML)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 set(IRCCD_PACKAGE_MSG "No (HTML documentation disabled)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 elseif (NOT WIN32)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 set(IRCCD_PACKAGE_MSG "No (only for Windows)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 elseif (NOT QtIFW_FOUND)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 set(IRCCD_PACKAGE_MSG "No (QtIFW not found)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 else ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 # Now check that a plugin has not been disabled.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 set(IRCCD_PACKAGE TRUE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 set(IRCCD_PACKAGE_MSG "Yes")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
233
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 foreach (plugin ${IRCCD_PLUGINS})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 string(TOUPPER ${plugin} optname)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
236
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
237 if (NOT WITH_PLUGIN_${optname})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 set(IRCCD_PACKAGE FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 set(IRCCD_PACKAGE_MSG "No (Plugin ${plugin} disabled)")
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 endforeach ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 endif ()