README.md 3.95 KB
Newer Older
1
# Linphone Desktop
2

3
![screenshot](readme_screen.png)
4

5 6
Linphone is a free VoIP and video softphone based on the SIP protocol.

7
## Getting started
8 9 10

Here are the general instructions to build linphone for desktop. The specific instructions for each build platform is described just below.

11
1. Install some build tools: `CMake`, `Python` `Java` (build dependency for `belle-sip`) and `Qt5` (_5.9 or newer_). `C++11` support is required!
12
2. It's necessary to set the environment variable `Qt5_DIR` to point to the path containing the cmake folders of Qt5. Example:
13

14
        Qt5_DIR="~/Qt/5.9/gcc_64/lib/cmake"
15 16 17

3. The `PATH` environment variable must point to the Qt5 directory `bin`. Example:

18
        PATH="~/Qt/5.9/gcc_64/bin/:$PATH"
19

20
4. Prepare the build by running the `prepare.py` script.
21 22
5. Build the project using the appropriate build tool (`make`, `ninja`, `Xcode`, `Visual Studio (2013 or 2015 version)`).

23
### Specific instructions for the GNU/Linux and Mac OS X platforms
24 25

1. Prepare the build in a terminal by running the following command in the current directory:
26

27
        ./prepare.py
28

29
2. Build the project in a terminal with:
30

31 32
        make

33
### Specific instructions for the Windows platform
34

35
1. Ensure that you have downloaded the `Qt msvc2015 version` (32-bit). (64-bit version is not supported at this moment by Linphone Desktop.) `MinGW` must be installed too.
36

37 38 39
2. Define the `Qt5_DIR` and `PATH` environment variable to the Qt5 installation path:

        Qt5_DIR="C:\Qt\5.9\msvc2015\lib\cmake"
40
        PATH="C:\Qt\5.9\msvc2015\bin;%PATH%"
41 42

3. Open a Windows command line (cmd.exe) in the current directory and run:
43

44
        python prepare.py -G "Visual Studio 14 2015"
45

46
4. Open the generated Visual Studio solution `Project.sln.lnk` and build it. Check if the `Release` option is selected in Visual Studio. (With `Win32`!)
47

48
## Known bugs and issues
49

50
* __4K (High DPI Displays)__ If you encounter troubles with high DPI displays on Windows, please to see this link: https://bugreports.qt.io/browse/QTBUG-53022
51

52
## Customizing your build
53 54 55 56 57 58 59

Some options can be given during the `prepare.py` step to customize the build. The basic usage of the `prepare.py` script is:

        ./prepare.py [options]

Here are the main options you can use.

60
### Building with debug symbols
61 62 63 64 65

Building with debug symbols is necessary if you want to be able to debug the application using some tools like GDB or the Visual Studio debugger. To do so, pass the `--debug` option to `prepare.py`:

        ./prepare.py --debug [other options]

66
### Generating an installation package (on Windows and Mac OS X platforms)
67 68 69 70 71

You might want to generate an installation package to ease the distribution of the application. To add the package generation step to the build just run:

        ./prepare.py --package [other options]

72
### Activate the build of all codecs
73 74 75

        ./prepare.py --all-codecs

76
### Using more advanced options
77 78 79 80 81 82

The `prepare.py` script is wrapper around CMake. Therefore you can give any CMake option to the `prepare.py` script.
To get a list of the options you can pass, you can run:

        ./prepare.py --list-cmake-variables

83
The options that enable you to configure what will be built are the ones beginning with `ENABLE_`. So for example, you might want to build linphone without the opus codec support. To do so use:
84 85 86

        ./prepare.py -DENABLE_OPUS=NO

87
## Updating your build
88 89 90 91

Simply re-building using the appropriate tool corresponding to your platform (make, Visual Studio...) should be sufficient to update the build (after having updated the source code via git).
However if the compilation fails, you may need to rebuild everything from scratch using:

92
        ./prepare.py -c && ./prepare.py [options]
93 94

Then you re-build as usual.
95

96 97 98 99 100 101 102
## Contributing

### Languages

Linphone is getting a full internationalization support, using Transifex platform.
If you want you can contribute at: https://www.transifex.com/belledonne-communications/linphone-desktop/languages/

103 104 105
## License

GPLv2 © [Linphone](https://linphone.org)