wiki:HowToBuildFromSource

Version 3 (modified by cervajs, 5 years ago) (diff)

--

Common requirements

In order to build the QuteCom, you need to install several components:

There are also some platform specific requirements listed below.

Specific requirements for GNU/Linux

The default compiler is gcc 4.0.

GCC 4.1 and Boost 1.33.x do not play nicely together, so if your version of Boost is 1.33.x you should not use GCC 4.1. See [this mailing list post][notgcc41] for more information. If GCC 4.0 is not available on your distro, you can use GCC 3.4.

[notgcc41]: http://dev.openwengo.com/pipermail/wengophone-devel/2006-December/004731.html

Other components:

(i) We provide internal copies of the source code for these libraries if you don't have them on your system.

Note that these version numbers are version we know works correctly. If you build and run the QuteCom successfully with an older version, please let us know.

Specific requirements for MacOS X

GLib and GNU TLS can be installed using [Fink](http://www.finkproject.org) or [MacPorts?](http://www.macports.org).

Specific requirements for Windows

For Windows, dlls for most dependencies are included in Subversion, so you don't need to install them manually.

There is a Windows installer for Boost libraries [here](http://www.boost-consulting.com/products/free)

You can use either [Visual C++](http://msdn.microsoft.com/visualc/) or [MinGW](http://www.mingw.org/) to build the WengoPhone?.

#### Visual C++

The most mature compiler supported is Visual C++ 2003 (7.1). Visual C++ 2005 (8.0) is also supported.

Qt 4.x Open Source Edition supports only MinGW. [This patch][qt4mingw], contributed by the Qt/Win? project, adds support for Visual C++.

[qt4mingw]: http://sourceforge.net/project/showfiles.php?group_id=49109&package_id=165202

#### MinGW

[MinGW](http://www.mingw.org/) 5.2 can now be used to build the whole software. Please feel free to raise any issue you may have with MinGW on the [wengophone-devel mailing list][wpdevel]. When using MinGW, you must install the [Python Win32 extensions][pywin32].

[wpdevel]: http://dev.openwengo.org/mailman/listinfo/wengophone-devel [pywin32]: http://starship.python.net/~skippy/win32/Downloads.html

Building

First, you need to configure the compilation, using CMake. Go inside the build dir, then make sure the Qt4 version of the qmake binary is in your path.

Windows with Visual C++:

cmake -DCMAKE_BUILD_TYPE=Debug -G "NMake Makefiles" .. nmake

Windows with MinGW:

cmake -DCMAKE_BUILD_TYPE=Debug -G "MinGW Makefiles" .. make

GNU/Linux and MacOS X:

mkdir /path/to/qutecom/builddir cd /path/to/qutecom/builddir cmake -DCMAKE_BUILD_TYPE=Debug /path/to/qutecom make

### CMake standard options Here is a list of the most interesting options provided out of the box by CMake.

  • CMAKE_BUILD_TYPE: The type of build (can be Debug Release MinSizeRel? RelWithDebInfo?)
  • CMAKE_INSTALL_PREFIX: The prefix to use when running make install (Default to /usr/local on GNU/Linux and MacOS X)
  • CMAKE_C_COMPILER: The path to the C compiler
  • CMAKE_CXX_COMPILER: The path to the C++ compiler

### CMake options defined for the WengoPhone?

WengoPhone? CMake options are defined in three files:

Here is a short description of the most useful ones:

  • COPY_DATA_FILES_ON_CONFIGURE: Whether you want CMake to copy data files to the build dir when running
  • GNU/Linux options:
    • ENABLE_CRASHREPORT: If ON (the default), intercept crashes and provide a graphical interface to report information to Wengo on crash. If OFF, just quit and dump core.
  • Windows options:
    • OWSOUND_PORTAUDIO_SUPPORT: If ON (the default), use PortAudio?. If OFF, use WinMM.

### Browsing/editing CMake options

In addition to passing options on the command line, you can browse and edit CMake options using cmakesetup (Windows) or ccmake (GNU/Linux and MacOS X).

  • Go to the build dir
  • On Windows: run cmakesetup
  • On GNU/Linux and MacOS X: run ccmake .

Running

The QuteCom binary can be found in the build/debug dir.

GNU/Linux

If you haven't installed the QuteCom (using ‛make install'), you need to use the ‛--resources‛ option to indicate where resources are located, like this:

cd build/debug ./qutecom --resources /path/to/qutecom-2.2/qutecom/resources

MacOS X

On MacOS X, the result of the compilation is a MacOS X bundle, named QuteCom.app. You can start it with open debug/QuteCom.app.

This is fine, but you won't see any logging information. If you want to see logging information you can either:

  • Start the QuteCom with gdb:
    • gdb debug/QuteCom.app
    • Type r(return) to start
  • Run this command: tail -f debug/QuteCom.app/Content/MacOS/log-main.txt

Installation

On GNU/Linux, ‛make install‛ will install the application to the destination defined by the CMAKE_INSTALL_PREFIX option.

On Windows, ‛make install' will produce an NSIS based setup program.

On MacOS X, ‛make install‛ will produce a MacOS X bundle.


## About this document

This document is written using [Markdown][] syntax, making it possible to provide usable information in both plain text and HTML format. Whenever modifying this document please use [Markdown][] syntax.

[markdown]: http://www.daringfireball.net/projects/markdown

links

http://hg.qutecom.org/qutecom-2.2/file/f1033bc40a67/INSTALL.txt