This repository has been archived by the owner on Jun 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathINSTALL
143 lines (98 loc) · 5.31 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
## Disclaimer
Because the LRC is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.2 is necessary.
This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (generated by https://review.jami.net/jami-project and available on https://jami.net on the distributions we support).
So, you will need to get Qt 6.2 first. For this, there is 3 methods:
### Qt from https://jami.net (recommended)
If your distribution is supported, we provide a Qt package (`libqt-jami`) on our repo. Follow instructions https://jami.net/download-jami-linux/ (but instead installing `jami` install `libqt-jami`).
The files will be installed in `/usr/lib/libqt-jami`.
### Qt from your distribution
If Qt 6.2 is available, you can use the packages from your distribution:
It should be (For now qt5 only is packaged by distributions, so names can change).
#### Dependencies, Debian based
```
sudo apt-get install cmake make doxygen g++ gettext libnotify-dev pandoc nasm libqrencode-dev \
libnotify-dev libnm-dev \
qtbase6-dev \
qtmultimedia6-dev libqt6svg6-dev qtwebengine6-dev qtdeclarative6-dev \
qtquickcontrols2-6-dev qml-module-qtquick2 qml-module-qtquick-controls \
qml-module-qtquick-controls2 qml-module-qtquick-dialogs \
qml-module-qtquick-layouts qml-module-qtquick-privatewidgets \
qml-module-qtquick-shapes qml-module-qtquick-window2 \
qml-module-qtquick-templates2 qml-module-qt-labs-platform \
qml-module-qtwebengine qml-module-qtwebchannel \
qml-module-qt-labs-qmlmodels
```
#### Dependencies, Fedora based
```
sudo dnf install qt6-qtsvg-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel qt6-qtdeclarative-devel qt6-qtquickcontrols2-devel qt6-qtquickcontrols qrencode-devel NetworkManager-libnm-devel
```
### Build Qt from sources
https://www.qt.io/product/qt6
Basic Installation
==================
These are generic installation instructions.
To install the appplication, type the following commands in a console, while in the root directory of this application:
mkdir -p build
cd build
cmake ..
The following options are often useful to append to the cmake line:
-DRING_BUILD_DIR=<daemon install location>
-DRING_XML_INTERFACES_DIR=<daemon dbus interface definitions directory>
-DCMAKE_INSTALL_PREFIX=<install location>
-DCMAKE_BUILD_TYPE=<Debug to compile with debug symbols>
-DENABLE_VIDEO=<False to disable video support>
make -jx # where x is the number of core you have
make install
(e.g. `-DCMAKE_PREFIX_PATH=/usr/lib/libqt-jami` if you use Qt from jami.net)
Explanation
===========
This script will configure and prepare the compilation and installation of the program and correctly link it against Ring daemon.
All needed files will be built in "build" directory.
So you have to go to this directory:
cd build
Then execute the Makefile, to compile the application (src, doc...)
make
Then install it all using:
make install
You have to use "sudo" to be able to install the program in a protected directory (which is the case by default and most of the time).
Therefore it will ask for your system password.
OS X Install
============
# Install necessary tools:
brew install cmake
brew install qt6
export CMAKE_PREFIX_PATH=<path_to_qt6>
hint: default install location with HomeBrew is /usr/local/Cellar/qt6
# First make sure you have built ring daemon for OS X.
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=<install_dir_of_daemon> [-DCMAKE_BUILD_TYPE=Debug for compiling with debug symbols]
make install
You can now link and build the OSX client with Ring daemon and LRC library
Testing
=======
Tests are written in the `test` directory.
To run tests, you need to rebuild the application with these commands (from the root directory of the project):
mkdir -p build-test
cd build-test
cmake .. -DENABLE_TEST=true
The following options are often useful to append to the cmake line:
-DRING_BUILD_DIR=<daemon install location>
-DRING_XML_INTERFACES_DIR=<daemon dbus interface definitions directory>
-DCMAKE_INSTALL_PREFIX=<install location>
-DCMAKE_BUILD_TYPE=<Debug to compile with debug symbols>
-DENABLE_VIDEO=<False to disable video support>
make -jx # where x is the number of core you have
make test # or ./LRCTester for more verbosity.
In the `test` directory you can also find a `mocks` folder used to simulate the ring daemon.
`CppUnit` is the testing library used for this project.
Internationalization
====================
To regenerate strings for translations we use lupdate (within root of the project)
lupdate ./src/ -source-language en -ts translations/lrc_en.ts
Hint: On OSX lupdate is installed with Qt in /usr/local/Cellar/qt6/6.2.0/bin/ when installed with HomeBrew