Mercurial > irccd
annotate INSTALL.md @ 1201:67fa43998a91 default tip @
misc: update copyright years
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 04 Jan 2024 10:39:43 +0100 |
parents | a388a6193131 |
children |
rev | line source |
---|---|
0 | 1 IRC Client Daemon INSTALL |
2 ========================= | |
3 | |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
4 This guide will help you to install irccd. |
0 | 5 |
6 Requirements | |
7 ------------ | |
8 | |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
9 Build dependencies: |
0 | 10 |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
11 - C99 and few features from C11 (stdatomics.h, stdnoreturn.h). |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
12 - [Bison][] and [Flex][]: for configuration files. |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
13 - [CMake][]: the cross platform build utility. |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
14 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
15 Optional runtime dependencies: |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
16 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
17 - [OpenSSL][]: Used for SSL connections to IRC servers (recommended). |
1166
a388a6193131
plugin links: rewrite in Javascript
David Demelier <markand@malikania.fr>
parents:
1110
diff
changeset
|
18 - [CURL][]: Required for the Http Javascript API (and links plugin).. |
0 | 19 |
20 Basic installation | |
21 ------------------ | |
22 | |
23 This is the quick way to install irccd. | |
24 | |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
25 tar xvzf irccd-x.y.z-tar.xz |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
26 cmake -S irccd-x.y.z -B build |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
27 cmake --build build --target all |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
28 sudo cmake --build build --target install |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
29 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
30 ### Disabling plugins |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
31 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
32 For every plugin, an option `IRCCD_WITH_PLUGIN_<NAME>` is presented and set to |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
33 on by default. Substitute `<NAME>` with the plugin uppercase name (e.g. `ASK`). |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
34 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
35 cmake build -DIRCCD_WITH_PLUGIN_ASK=Off |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
36 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
37 ### Systemd service |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
38 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
39 The systemd service file is installed by default if the machine is running |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
40 systemd, it's possible to force the option using `IRCCD_WITH_SYSTEMD` to `On` or |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
41 `Off`. |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
42 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
43 cmake build -DIRCCD_WITH_SYSTEMD=Off |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
44 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
45 ### Other options |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
46 |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
47 The following options are available: |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
48 |
1110
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
49 - `IRCCD_WITH_MAN`: installation of manpages. |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
50 - `IRCCD_WITH_JS`: Javascript support (and all Javascript plugins). |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
51 - `IRCCD_WITH_SSL`: OpenSSL support. |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
52 - `IRCCD_WITH_TESTS`: building of tests. |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
53 - `IRCCD_WITH_EXAMPLES`: plugin templates. |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
54 - `IRCCD_WITH_PKGCONFIG`: pkg-config file installation. |
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
55 - `IRCCD_WITH_PKGCONFIGDIR`: path to pkg-config directory installation. |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
56 |
1110
8c53096eef1e
cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents:
1108
diff
changeset
|
57 The following standard CMake options control installation directories. |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
58 |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
59 - `CMAKE_INSTALL_PREFIX`: root directory for installing (default: /usr/local). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
60 - `CMAKE_INSTALL_BINDIR`: binaries (default: ${CMAKE_INSTALL_PREFIX}/bin). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
61 - `CMAKE_INSTALL_SYSCONFDIR`: config files (default: ${CMAKE_INSTALL_PREFIX}/etc). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
62 - `CMAKE_INSTALL_LIBDIR`: libraries (default: ${CMAKE_INSTALL_PREFIX}/lib). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
63 - `CMAKE_INSTALL_INCLUDEDIR`: header files (default: ${CMAKE_INSTALL_PREFIX}/include). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
64 - `CMAKE_INSTALL_SHAREDIR`: data files (default: ${CMAKE_INSTALL_PREFIX}/share). |
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
65 - `CMAKE_INSTALL_MANDIR`: path to manual pages (default: ${CMAKE_INSTALL_PREFIX}/share/man). |
1052
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
66 |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
67 [Bison]: https://www.gnu.org/software/bison |
1108
a09d4c9b8518
misc: improve meta files
David Demelier <markand@malikania.fr>
parents:
1074
diff
changeset
|
68 [CMake]: http://www.cmake.org |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
69 [CURL]: https://curl.se |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
70 [Flex]: https://github.com/westes/flex |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
71 [OpenSSL]: http://openssl.org |