Mercurial > irccd
annotate doc/src/build.md @ 701:2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 16 May 2018 12:25:51 +0200 |
parents | bb9771fb5f44 |
children | ebe561276c33 |
rev | line source |
---|---|
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 % building from sources |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 % David Demelier |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 % 2017-12-08 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 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
|
6 irccd is not available, you can build it from sources. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # Requirements |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 To build from sources, you need the following installed on your system: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 - [CMake](http://www.cmake.org), |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 - [OpenSSL](https://www.openssl.org) (Optional) for connecting with SSL, |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 - [Pandoc](http://pandoc.org) (Optional) for building the documentation, |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 - At least **GCC 5.1** or **clang 3.4** |
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 **Warning**: don't even try to compile with GCC 4.x, it will not work due to |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 missing C++14 features. |
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 # Running the build |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 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
|
23 current version. Go to that directory, then type the following commands: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 $ mkdir _build_ |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 $ cd _build_ |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 $ cmake .. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 $ make |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 $ sudo make install |
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 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
|
32 some options to customize the build. See below. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 # Customizing the build |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 You can configure some features when compiling irccd. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 ## Disabling JavaScript |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 You can disable JavaScript support. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
42 $ cmake .. -DIRCCD_WITH_JS=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 ## Disabling SSL |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 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
|
47 found. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 **Warning**: this is not recommended. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
51 $ cmake .. -DIRCCD_WITH_SSL=Off |
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 ## Disabling libedit |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
54 |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
55 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
|
56 disable it. |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
57 |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
58 $ cmake .. -DIRCCD_WITH_LIBEDIT=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 ## Disabling all documentation |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 You can disable all the documentation. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
64 $ cmake .. -DIRCCD_WITH_DOCS=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 See below to disable only specific parts of the documentation. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 ## Disabling HTML documentation |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 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
|
71 disable it. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 $ cmake .. -DWITH_HTML=Off |
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 ## Disabling man pages |
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 You can disable installation of manuals. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
79 $ cmake .. -DIRCCD_WITH_MAN=Off |
607
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 ## Installation path |
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 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
|
84 specify the prefix where to install files. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 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
|
87 Windows. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 To change this, use the following: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 $ cmake .. -DCMAKE_INSTALL_PREFIX=/opt/some/directory |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 ## Manual pages path |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 By default, irccd use **${CMAKE_INSTALL_PREFIX}/share/man** for manual pages. |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 For example, on FreeBSD the typical use would be: |
bb9771fb5f44
Docs: rework documentation
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
607
diff
changeset
|
99 $ cmake .. -DIRCCD_WITH_MANDIR=/usr/local/man |