Commit 56a8b8f9 authored by Ming Rui Zhang's avatar Ming Rui Zhang

project: update

Change-Id: I67530cabf877bfcc88a3520b98c9ad09f2c7b8b1
parent 663dde26
......@@ -11,38 +11,146 @@ For more information about the jami project, see the following:
- Bug tracker:
- Repositories:
## Requirements
## Building On Native Windows
- Jami client library and Jami daemon
- Mingw-w64 build environment
- Qt5 (we link against Qt5Core, Qt5Widgets, Qt5Gui) built with Mingw
- Qt5 Svg, Qt5 ImageFormats & Qt5 WinExtras built with Mingw
Only 64-bit MSVC build can be compiled.
## Get the source code
> Note: command ```./ --init``` is not required on the Windows build <br>
- `git clone`
**Setup Before Building:**
- Download [Qt (Open Source)](<br>
## Build instructions
| | Prebuild | Module |
| Components: | msvc2017_64 | Qt WebEngine |
**NOTE: The build process is currently under a full refactorization. This section will be updated soon**
- Download [Visual Studio]( (version >= 2015) <br>
- Install Qt Vs Tools under extensions, and configure msvc2017_64 path under Qt Options <br>
## Windows
| | Qt Version | SDK | Toolset |
| Minimum requirement: | 5.9.4 | 10.0.16299.0 | V141 |
- Install [Python3]( for Windows
**Start Building**
- Using Command Prompt
git clone
cd ring-project/
git submodule update --init daemon lrc client-windows
git submodule update --recursive --remote daemon lrc client-windows
- Using **Elevated Command Prompt**
python --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>
> b. Only if you have already installed msys2 (64 bit) under the default installation folder, we will use the existing one.
> 3. This command will install **strawberry perl** by using chocolatey command which may fail if you have already installed it.
> 4. This command will install **cmake** by using chocolatey command which will not add cmake into PATH (environment variable). <br>
> The issue 1, 2(a), 3 can be solved by restarting the Command Prompt under Administrator right and re-run the command. <br>
> The issue 3 can be solved by uninstalling your current strawberry perl and re-run the command. <br>
> The issue 4 can be solved by adding the location of the cmake.exe into PATH. <br>
- Using a new **Non-Elevated Command Prompt**
python --install
- Then you should be able to use the Visual Studio Solution file in client-windows folder **(Configuration = Release, Platform = x64)**
> Note: <br>
> To control the toolset and the sdk version that are used by msbuild, you can use ```--toolset``` and ```--sdk``` options <br>
> By default: ```toolset=v141```, ```sdk=10.0.16299.0``` <br>
> For example:
python --install --toolset v142 --sdk 10.0.18362.0
### Build Module individually
### Packaging
- Jami-qt also support building each module (daemon, lrc, jami-qt) seperately
* Nsis : Nullsoft Scriptable Install System :
- Make sure that dependencies is built by
- On MSVC folder (ring-project\daemon\MSVC):
python -b daemon
cd build/release
makensis ring.nsi
- 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:
python -b opendht
- Make sure that daemon is built first
cd lrc
python -gb
- Make sure that daemon, lrc are built first
cd client-windows
pandoc -f markdown -t html5 -o changelog.html
python -d
python -b
powershell -ExecutionPolicy Unrestricted -File copy-runtime-files.ps1
- For all python scripts, both ```--toolset``` and ```--sdk``` options are available.
- For more available options, run scripts with ```-h``` option.
## Packaging On Native Windows
- To be able to generate a msi package, first download and install [Wixtoolset](
- 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
## Linux
> For now, this process is experimental.
- LibRing and LibRingClient
must be installed first. If you have not already done so, go to the
[\#How to Build LibRing (or
Daemon)](#How_to_Build_LibRing_(or_Daemon) "wikilink") and [\#How to
Build LibRingClient (or
LRC)](#How_to_Build_LibRingClient_(or_LRC) "wikilink") sections.
- Building the whole ring-project is recommended, however, lrc might need to be rebuilt with cmake option ```-DCMAKE_INSTALL_PREFIX=/usr```
#### Other Requirements
- Qt 5.9.4 (qt open source)
- libqt5svg*, qtwebengine5-dev, qtmultimedia5-dev, qtdeclarative5-dev, pandoc
#### Getting the Source Code
git clone
#### Build Instructions
Note: LRC should be compiled or installed on your system.
**Windows Client dependencies**
- For Debian based:
......@@ -70,11 +178,13 @@ Note: LRC should be compiled or installed on your system.
Compile the client with `BUILD=Debug` and compile LibRingClient with
## Mac OS
#### Known issues
1. The build system is not straight forward
2. Video doesn't work
3. Can't maximize/minimize window
4. Crash if the daemon is not started and installed.
## Debugging
Compile the client with 'BUILD=Debug' and libRingClient with '-DCMAKE_BUILD_TYPE=Debug'
\ No newline at end of file
## Mac OS
# 2019-12-13
## Bug Fixes
+ Fixed the bug that caused lag on call overlay
+ Fixed a typo on about dialog
## New Features
+ Add various useful shortcuts
# 2019-11-20
## Bug Fixes
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment