mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-09-10 12:03:18 +02:00
INSTALL.md: remove LRC for windows
GitLab: #783 Change-Id: Ic1ded1eba802eca8ee44c77b49792b3ad89960b5
This commit is contained in:
parent
5235b4485f
commit
cad1c5c268
1 changed files with 60 additions and 41 deletions
101
INSTALL.md
101
INSTALL.md
|
@ -1,8 +1,9 @@
|
|||
# Build instructions
|
||||
|
||||
There is basically two ways to build `client-qt`:
|
||||
+ Use `build.py` script which will build all Jami (daemon/client lib/client-qt)
|
||||
+ Build only this client.
|
||||
|
||||
- Use `build.py` script which will build all Jami (daemon/client lib/client-qt)
|
||||
- Build only this client.
|
||||
|
||||
## Disclaimer
|
||||
|
||||
|
@ -43,11 +44,10 @@ sudo apt-get install cmake make doxygen g++ gettext libnotify-dev pandoc nasm li
|
|||
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
|
||||
### Qt from sources
|
||||
|
||||
https://www.qt.io/product/qt6
|
||||
|
||||
|
||||
## GNU/Linux
|
||||
|
||||
Then, you can build the project
|
||||
|
@ -67,13 +67,13 @@ cd jami-project/
|
|||
|
||||
Then you will need to install dependencies:
|
||||
|
||||
+ For GNU/Linux
|
||||
- For GNU/Linux
|
||||
|
||||
```bash
|
||||
./build.py --dependencies --qt # needs sudo
|
||||
```
|
||||
|
||||
Then, you can build daemon, lrc and client-qt with:
|
||||
Then, you can build daemon and the client with:
|
||||
|
||||
```bash
|
||||
./build.py --install --qt
|
||||
|
@ -83,20 +83,19 @@ And you will have the daemon in `daemon/bin/jamid` and the client in `client-qt/
|
|||
|
||||
If you use a Qt version that is not wide-system installed you need to specify its path after the `--qt` flag, i. e., `./build.py --install --qt /home/<username>/Qt/6.2.1/gcc_64
|
||||
|
||||
|
||||
```bash
|
||||
./build.py --run --qt
|
||||
```
|
||||
|
||||
Notes:
|
||||
+ `--global-install` to install client-qt globally under /usr/local
|
||||
+ `--prefix` to change the destination of the install.
|
||||
|
||||
- `--global-install` to install client-qt globally under /usr/local
|
||||
- `--prefix` to change the destination of the install.
|
||||
|
||||
## Build only the client
|
||||
|
||||
In order to use the Qt Client it is necessary to have the Qt version 5.14 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
|
||||
|
||||
|
||||
## Build only this repository
|
||||
|
||||
```bash
|
||||
|
@ -108,12 +107,11 @@ make -j
|
|||
```
|
||||
|
||||
cmake can take some options:
|
||||
+ If lrc library is installed in a custom directory you can set its path with the variable LRC. Additionally you can specify built library location with `LRC` (otherwise it will seach inside LRC with the suffixes `/lib`, `/build` and `/build-local`).
|
||||
|
||||
e.g. (with Qt version from https://jami.net)
|
||||
|
||||
```
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=jami-project/install/client-qt -DLRC=jami-project/install/lrc -DCMAKE_PREFIX_PATH=/usr/lib/libqt-jami
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=jami-project/install/client-qt -DCMAKE_PREFIX_PATH=/usr/lib/libqt-jami
|
||||
```
|
||||
|
||||
After the build has finished, you are finally ready to launch jami-qt in your build directory.
|
||||
|
@ -129,8 +127,11 @@ make install
|
|||
Only 64-bit MSVC build can be compiled.
|
||||
|
||||
**Setup Before Building:**
|
||||
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)<br>
|
||||
|
||||
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
|
||||
|
||||
- Using the online installer, install the following Qt 6.2.3 components:
|
||||
|
||||
- MSVC 2019 64-bit
|
||||
- Qt 5 Compatibility Module
|
||||
- Additional Libraries
|
||||
|
@ -141,21 +142,24 @@ Only 64-bit MSVC build can be compiled.
|
|||
- Qt WebSockets
|
||||
- Qt WebView
|
||||
|
||||
- Download [Visual Studio](https://visualstudio.microsoft.com/) (version >= 2019) <br>
|
||||
- Install Qt Vs Tools under extensions, and configure msvc2017_64 path under Qt Options <br>
|
||||
- Download [Visual Studio](https://visualstudio.microsoft.com/) (version >= 2019). Note: version 2022 does not work.
|
||||
|
||||
| | Qt Version | SDK | Toolset |
|
||||
|---|---|---|---|
|
||||
| Minimum requirement: | 6.2.3 | 10.0.16299.0 | V142 |
|
||||
- Install Qt Vs Tools under extensions, and configure msvc2017_64 path under Qt Options
|
||||
|
||||
| | Qt Version | SDK | Toolset |
|
||||
| -------------------- | ---------- | ------------ | ------- |
|
||||
| Minimum requirement: | 6.2.3 | 10.0.16299.0 | V142 |
|
||||
|
||||
- Install [Python3](https://www.python.org/downloads/) for Windows
|
||||
|
||||
- Using **Elevated Command Prompt**
|
||||
|
||||
```sh
|
||||
python build.py --dependencies
|
||||
```
|
||||
|
||||
> Note:
|
||||
>
|
||||
> 1. This command will install **chocolatey** which may require you to restart the Command Prompt to be able to use it.
|
||||
> 2. This command will install **msys2 (64 bit)** by using chocolatey command which may cause issues below: <br>
|
||||
> a. Choco may require you to restart the Command Prompt after finishing installing msys2. <br>
|
||||
|
@ -168,50 +172,58 @@ Only 64-bit MSVC build can be compiled.
|
|||
> The issue 4 can be solved by adding the location of the cmake.exe into PATH. <br>
|
||||
|
||||
- Using a new **Non-Elevated Command Prompt**
|
||||
```sh
|
||||
|
||||
```bash
|
||||
python build.py --install
|
||||
```
|
||||
- Then you should be able to use the Visual Studio Solution file in client-windows folder **(Configuration = Release, Platform = x64)**
|
||||
|
||||
Note: If you have another version than qt 6.2.3 installed this step will build daemon correctly but will fail for the client.
|
||||
When that happens you need to compile the client separately:
|
||||
|
||||
```bash
|
||||
python build.py --install
|
||||
cd client-qt
|
||||
python build.py init
|
||||
python build.py --qtver <your qt version>
|
||||
```
|
||||
|
||||
- Then you should be able to use the Visual Studio Solution file in client-qt folder **(Configuration = Release, Platform = x64)**
|
||||
|
||||
### Build Module Individually
|
||||
|
||||
- Jami-qt also support building each module (daemon, lrc, jami-qt) seperately
|
||||
- Jami-qt also support building each module (daemon, jami-qt) seperately
|
||||
|
||||
**Daemon**
|
||||
|
||||
- Make sure that dependencies is built by make-ring.py
|
||||
- On MSVC folder (jami-project\daemon\MSVC):
|
||||
|
||||
```sh
|
||||
cmake -DCMAKE_CONFIGURATION_TYPES="ReleaseLib_win32" -DCMAKE_VS_PLATFORM_NAME="x64" -G "Visual Studio 16 2019" -A x64 -T '$(DefaultPlatformToolset)' ..
|
||||
python winmake.py -b daemon
|
||||
```
|
||||
- This will generate a ```.lib``` file in the path of ring-project\daemon\MSVC\x64\ReleaseLib_win32\bin
|
||||
|
||||
- This will generate a `.lib` file in the path of ring-project\daemon\MSVC\x64\ReleaseLib_win32\bin
|
||||
|
||||
> Note: each dependencies contrib for daemon can also be updated individually <br>
|
||||
> For example:
|
||||
|
||||
```bash
|
||||
python winmake.py -b opendht
|
||||
```
|
||||
|
||||
**Lrc**
|
||||
|
||||
- Make sure that daemon is built first
|
||||
|
||||
```bash
|
||||
cd lrc
|
||||
python make-lrc.py
|
||||
```
|
||||
|
||||
**Jami-qt**
|
||||
|
||||
- Make sure that daemon, lrc are built first
|
||||
- Make sure that daemon, is built first
|
||||
|
||||
```bash
|
||||
cd client-windows
|
||||
python make-client.py init
|
||||
python make-client.py
|
||||
cd client-qt
|
||||
python build.py init
|
||||
python build.py
|
||||
```
|
||||
|
||||
Note: if your qt version is different than 6.2.3, you need to use `python build.py --qtver <your qt version>`.
|
||||
|
||||
## Building On MacOS
|
||||
|
||||
**Set up**
|
||||
|
@ -222,38 +234,45 @@ Only 64-bit MSVC build can be compiled.
|
|||
- install Qt 6.2
|
||||
|
||||
Qt 6.2 can be installed via brew
|
||||
```brew install qt
|
||||
|
||||
```bash
|
||||
brew install qt
|
||||
```
|
||||
|
||||
or downloaded from [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
|
||||
|
||||
Then, you can build the project
|
||||
|
||||
**Build with build.py**
|
||||
|
||||
```git clone https://review.jami.net/jami-project
|
||||
```bash
|
||||
git clone https://review.jami.net/jami-project
|
||||
cd jami-project
|
||||
./build.py --init
|
||||
./build.py --dependencies --qt
|
||||
./build.py --install --qt
|
||||
```
|
||||
|
||||
If you use a Qt version that is installed in a different than standard location you need to specify its path
|
||||
```./build.py --install --qt QT_ROOT_DIRECTORY=your_qt_directory
|
||||
|
||||
```bash
|
||||
./build.py --install --qt QT_ROOT_DIRECTORY=your_qt_directory
|
||||
```
|
||||
|
||||
Built client could be find in `client-qt/build-local/Jami`
|
||||
|
||||
## Packaging On Native Windows
|
||||
|
||||
- To be able to generate a msi package, first download and install [Wixtoolset](https://wixtoolset.org/releases/).
|
||||
- In Visual Studio, download WiX Toolset Visual Studio Extension.
|
||||
- Build client-windows project first, then the JamiInstaller project, msi package should be stored in ring-project\client-windows\JamiInstaller\bin\Release
|
||||
- Build client-qt project first, then the JamiInstaller project, msi package should be stored in jami-project\client-qt\JamiInstaller\bin\Release
|
||||
|
||||
## Testing for Client-qt on Windows
|
||||
|
||||
- We currently use [GoogleTest](https://github.com/google/googletest) and [Qt Quick Test](https://doc.qt.io/qt-5/qtquicktest-index.html#introduction) in our product. To build and run tests, you could use the following command.
|
||||
|
||||
```
|
||||
python make-client.py -b -wt
|
||||
python make-client.py runtests
|
||||
python build.py [runtests, pack]
|
||||
```
|
||||
|
||||
- Note that, for tests, the path of local storage files for jami will be changed based on following environment variables.
|
||||
|
|
Loading…
Add table
Reference in a new issue