annotate cmake/IrccdOptions.cmake @ 620:c79ae2987955

Irccd: create a brand new irccd-test executable, closes #569 @3h
author David Demelier <markand@malikania.fr>
date Thu, 21 Dec 2017 21:55:57 +0100
parents 957296d623e2
children 27587ff92a64
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 #
394
c6fbb6e0e06d Happy new year!
David Demelier <markand@malikania.fr>
parents: 374
diff changeset
4 # Copyright (c) 2013-2017 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 # Options that controls the build:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #
620
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
22 # WITH_LIBEDIT Enable libedit support (default: on)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
23 # WITH_SSL Enable OpenSSL (default: on)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
24 # WITH_JS Enable JavaScript (default: on)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
25 # WITH_TESTS Enable unit testing (default: off)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
26 # WITH_SYSTEMD Install systemd service (default: on for Linux)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
27 # WITH_DOCS Enable building of all documentation (default: on)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
28 # WITH_DOXYGEN Enable internal irccd documentation (default: on)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
29 # WITH_HTML Enable HTML documentation
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
30 # WITH_MAN Install manpages (default: on, off for Windows)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
31 # WITH_PKGCONFIG Install pkg-config files (default: on, off for Windows (except MinGW))
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
32 # WITH_PLUGIN_<NAME> Enable or disable the specified plugin (default: on)
510
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
33 # WITH_VERA Enable style checking using vera (default: on)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 # 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
36 # list.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 # Options that controls both installations and the irccd runtime:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 #
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
42 # WITH_BINDIR Binary directory for irccd, irccdctl
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
43 # WITH_CACHEDIR Path where to store temporary files
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
44 # WITH_CMAKEDIR Path where to install CMake configuration files
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
45 # WITH_DATADIR Path for data files
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
46 # WITH_DOCDIR Path where to install documentation
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
47 # WITH_MANDIR Path where to install manuals
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
48 # WITH_PKGCONFIGDIR Path where to install pkg-config files
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
49 # WITH_PLUGINDIR Path where plugins must be installed
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
50 # WITH_SYSCONFDIR Path where to install configuration files
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
51 # WITH_SYSTEMDDIR Path where to install systemd unit file
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 # Manual pages on Windows are pretty useless.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 if (WIN32)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
56 set(DEFAULT_MAN "No")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
58 set(DEFAULT_MAN "Yes")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 # Systemd unit file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 if (CMAKE_SYSTEM_NAME MATCHES "Linux")
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
63 set(DEFAULT_SYSTEMD "Yes")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
65 set(DEFAULT_SYSTEMD "No")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
74
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
68 # pkg-config is only relevant on UNIX or MinGW
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
69 if (MINGW OR UNIX)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
70 set(DEFAULT_PKGCONFIG "Yes")
74
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
71 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
72 set(DEFAULT_PKGCONFIG "No")
74
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
73 endif ()
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
74
620
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
75 option(WITH_LIBEDIT "Enable libedit support" On)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 option(WITH_SSL "Enable SSL" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 option(WITH_JS "Enable embedded Duktape" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 option(WITH_TESTS "Enable unit testing" Off)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 option(WITH_SYSTEMD "Install systemd service" ${DEFAULT_SYSTEMD})
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 option(WITH_DOCS "Enable building of all documentation" On)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 option(WITH_HTML "Enable building of HTML documentation" On)
38
c619a2932730 Misc: disable doxygen by default
David Demelier <markand@malikania.fr>
parents: 6
diff changeset
82 option(WITH_DOXYGEN "Enable doxygen" Off)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 option(WITH_MAN "Install man pages" ${DEFAULT_MAN})
74
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
84 option(WITH_PKGCONFIG "Enable pkg-config file" ${DEFAULT_PKGCONFIG})
510
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
85 option(WITH_VERA "Enable vera++" On)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
374
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
87 #
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
88 # Installation paths.
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
89 # -------------------------------------------------------------------
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
90 #
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 set(WITH_BINDIR "bin" CACHE STRING "Binary directory")
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
93 set(WITH_CACHEDIR "var/cache/irccd" CACHE STRING "Cache directory")
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
94 set(WITH_CMAKEDIR "lib/cmake" CACHE STRING "Directory for CMake modules")
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
95 set(WITH_DATADIR "share/irccd" CACHE STRING "Directory for additional data")
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
96 set(WITH_DOCDIR "share/doc/irccd" CACHE STRING "Documentation directory")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 set(WITH_MANDIR "share/man" CACHE STRING "Man directory")
74
35ef15100de8 CMake: install pkg-config file, #440
David Demelier <markand@malikania.fr>
parents: 39
diff changeset
98 set(WITH_PKGCONFIGDIR "lib/pkgconfig" CACHE STRING "Directory for pkg-config file")
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
99 set(WITH_PLUGINDIR "libexec/irccd/plugins" CACHE STRING "Module prefix where to install")
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents: 466
diff changeset
100 set(WITH_SYSCONFDIR "etc" CACHE STRING "Configuration directory")
112
a45a0f817a7b CMake: move contrib options into IrccdOptions.cmake, #481
David Demelier <markand@malikania.fr>
parents: 101
diff changeset
101 set(WITH_SYSTEMDDIR "/usr/lib/systemd/system" CACHE STRING "Absolute path where to install systemd files")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
102
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 #
374
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
104 # Internal dependencies.
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
105 # -------------------------------------------------------------------
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
106 #
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 if (WITH_JS)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
109 add_subdirectory(extern/duktape)
513
928a40398dec CMake: split options and conditions, closes #716
David Demelier <markand@malikania.fr>
parents: 510
diff changeset
110 set(HAVE_JS On)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
111 set(WITH_JS_MSG "Yes")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
113 set(WITH_JS_MSG "No")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 if (WITH_TESTS)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
117 set(WITH_TESTS_MSG "Yes")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
119 set(WITH_TESTS_MSG "No")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
121
374
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
122 #
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
123 # External dependencies.
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
124 # -------------------------------------------------------------------
e9adab218027 Misc: various code cleanup
David Demelier <markand@malikania.fr>
parents: 257
diff changeset
125 #
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 find_package(Doxygen)
552
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
128 find_package(OpenSSL)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 find_package(Pandoc)
561
957296d623e2 CMake: find TCL quietly
David Demelier <markand@malikania.fr>
parents: 560
diff changeset
130 find_package(TCL QUIET)
620
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
131 find_package(Editline)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 if (NOT WITH_DOCS)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
134 set(WITH_HTML FALSE)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
135 set(WITH_DOXYGEN FALSE)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
136 set(WITH_MAN FALSE)
0
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
620
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
139 if (WITH_LIBEDIT)
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
140 if (Editline_FOUND)
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
141 set(HAVE_LIBEDIT On)
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
142 set(WITH_LIBEDIT_MSG "Yes")
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
143 else ()
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
144 set(WITH_LIBEDIT_MSG "No (libedit not found)")
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
145 endif ()
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
146 else ()
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
147 set(WITH_LIBEDIT_MSG "No (disabled by user)")
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
148 endif ()
c79ae2987955 Irccd: create a brand new irccd-test executable, closes #569 @3h
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
149
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 if (WITH_SSL)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
151 if (OPENSSL_FOUND)
513
928a40398dec CMake: split options and conditions, closes #716
David Demelier <markand@malikania.fr>
parents: 510
diff changeset
152 set(HAVE_SSL On)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
153 set(WITH_SSL_MSG "Yes")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
154 else ()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
155 set(WITH_SSL_MSG "No (OpenSSL not found)")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
156 endif ()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 else()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
158 set(WITH_SSL_MSG "No (disabled by user)")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
160
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 if (WITH_DOXYGEN)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
162 if (DOXYGEN_FOUND)
513
928a40398dec CMake: split options and conditions, closes #716
David Demelier <markand@malikania.fr>
parents: 510
diff changeset
163 set(HAVE_DOXYGEN On)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
164 set(WITH_DOXYGEN_MSG "Yes")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
165 else ()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
166 set(WITH_DOXYGEN_MSG "No (doxygen not found)")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
167 endif ()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
169 set(WITH_DOXYGEN_MSG "No (disabled by user)")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
171
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 if (WITH_HTML)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
173 if (Pandoc_FOUND)
513
928a40398dec CMake: split options and conditions, closes #716
David Demelier <markand@malikania.fr>
parents: 510
diff changeset
174 set(HAVE_HTML On)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
175 set(WITH_HTML_MSG "Yes")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
176 else ()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
177 set(WITH_HTML_MSG "No (pandoc not found)")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
178 endif ()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
180 set(WITH_HTML_MSG "No (disabled by user)")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 endif ()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
182
548
a7c0eb100760 CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents: 513
diff changeset
183 if (WITH_VERA)
552
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
184 if (TCL_FOUND)
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
185 add_subdirectory(extern/vera)
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
186 set(HAVE_VERA On)
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
187 set(WITH_VERA_MSG "Yes")
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
188 else ()
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
189 set(WITH_VERA_MSG "No (TCL not found)")
bf6a1fb7c45a CMake: find TCL and disable vera++
David Demelier <markand@malikania.fr>
parents: 548
diff changeset
190 endif ()
510
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
191 else ()
548
a7c0eb100760 CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents: 513
diff changeset
192 set(WITH_VERA_MSG "No (disabled by user)")
510
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
193 endif ()
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
194
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 # Determine if allowed to package.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 # -------------------------------------------------------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 # 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
200 #
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
201
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 set(IRCCD_PACKAGE FALSE)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
203
101
113d909fdfe1 CMake: disallow absolute paths, #389
David Demelier <markand@malikania.fr>
parents: 75
diff changeset
204 if (NOT WITH_HTML)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
205 set(IRCCD_PACKAGE_MSG "No (HTML documentation disabled)")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 else ()
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
207 # Now check that a plugin has not been disabled.
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
208 set(IRCCD_PACKAGE TRUE)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
209 set(IRCCD_PACKAGE_MSG "Yes")
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
210
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
211 foreach (plugin ${IRCCD_PLUGINS})
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
212 string(TOUPPER ${plugin} optname)
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
213
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
214 if (NOT WITH_PLUGIN_${optname})
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
215 set(IRCCD_PACKAGE FALSE)
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
216 set(IRCCD_PACKAGE_MSG "No (Plugin ${plugin} disabled)")
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
217 endif ()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 112
diff changeset
218 endforeach ()
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 endif ()