Mercurial > irccd
annotate doc/src/build.md @ 817:ebe561276c33
doc: start reworking, continue #752 @8h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 19 Nov 2018 07:04:42 +0100 |
parents | 2007a37d7e1a |
children |
rev | line source |
---|---|
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 You should use the irccd version provided by your package manger if possible. If |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 irccd is not available, you can build it from sources. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # Requirements |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 To build from sources, you need the following installed on your system: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
8 - Compiler C++17 support, |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
9 - [Boost](http://boost.org), |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
10 - [CMake](http://www.cmake.org), |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
11 - [OpenSSL](https://www.openssl.org) (Optional) for connecting with SSL, |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
12 - [libedit](https://thrysoee.dk/editline) (Optional) for auto-completion, |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
13 - [doxygen](http://www.doxygen.org) (Optional) for C++ documentation. |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # Running the build |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 When you're ready, extract the **irccd-x.y.z.tar.gz** where **x.y.z** is the |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 current version. Go to that directory, then type the following commands: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 $ mkdir _build_ |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 $ cd _build_ |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 $ cmake .. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 $ make |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 $ sudo make install |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 This is the quick way of compiling and installing. It's also possible to set |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 some options to customize the build. See below. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 # Customizing the build |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 You can configure some features when compiling irccd. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 ## Disabling JavaScript |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 You can disable JavaScript support. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
37 $ cmake .. -DIRCCD_WITH_JS=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 ## Disabling SSL |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 You can disable OpenSSL support, it is automatically unset if OpenSSL is not |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 found. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
44 Warning: this is not recommended. |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
46 $ cmake .. -DIRCCD_WITH_SSL=Off |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
47 |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
48 ## Disabling libedit |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
49 |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
50 If for some reasons, you don't want auto-completion in `irccd-test`, you can |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
51 disable it. |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
52 |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
53 $ cmake .. -DIRCCD_WITH_LIBEDIT=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 ## Disabling HTML documentation |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 By default if Pandoc is available, the HTML documentation is built, you can |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 disable it. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
60 $ cmake .. -DIRCCD_WITH_HTML=Off |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
61 |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
62 ## Disable doxygen documentation |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
63 |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
64 Doxygen documentation is built for C++ API. It is disabled if doxygen was not |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
65 found. |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
66 |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
67 $ cmake .. -DIRCCD_WITH_DOXYGEN=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 ## Disabling man pages |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 You can disable installation of manuals. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
73 $ cmake .. -DIRCCD_WITH_MAN=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 ## Installation path |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 Sometimes, you may need to install irccd over other place, for that, you can |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 specify the prefix where to install files. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 On Unix systems, it's usually **/usr/local** and **C:/Program Files/Irccd** on |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 Windows. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 To change this, use the following: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 $ cmake .. -DCMAKE_INSTALL_PREFIX=/opt/some/directory |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
87 You can also control the installation of individual directories through the |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
88 [GNUInstallDirs][] CMake module. |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
90 Example: |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 |
817
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
92 $ cmake .. -DCMAKE_INSTALL_DOCDIR=doc/irccd |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
93 |
ebe561276c33
doc: start reworking, continue #752 @8h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
94 GNUInstallDirs: https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html |