summaryrefslogtreecommitdiff
path: root/BUILDINSTRUCTIONS
blob: d3d0b83b33167b631d92c6848ff271ed0b0b55e6 (plain)
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
Build instructions
==================

System requirements
-------------------

Development platform is Linux.

To build all applications, it's required to use Qt 5.1 (or later).
See http://qt-project.org/downloads#qt-lib for download.

For the browser application and the demoUI application Qt 5.0 would be
sufficient.  The testapp application requires Qt 5.1, because of the use of Qt
Quick Controls
(http://qt-project.org/doc/qt-5.1/qtquickcontrols/qtquickcontrols-index.html).

If building Qt from source, all Qt Essential modules and the Qt Declarative
module are necessary (see
http://qt-project.org/doc/qt-5.1/qtdoc/qtmodules.html).


Build
-----

To build all applications at once, run

  <path_to_qt_installation>/bin/qmake -r browser-poc.pro
  make

To build the separate applications on its own, run

  cd <browser|demoui|testapp>
  <path_to_qt_installation>/bin/qmake <browser|demoui|testapp>.pro
  make

Run
---

Always start the browser application first, then start the demoUI or test
application.

For more detailed information about usage and overview, see documentation on
the Genivi wiki.

Testing
-------

There are automated tests in browser/unit-tests/. In order to build these,
enter the subdirecory of the respective test you'd like to build and issue
<path_to_qt_installation>/bin/qmake.

Each test will produce a binary of its test suite, which is run using
./<name of test>.

browserdbus requires the browser to be running, and also requires the
xdotool[1] to be installed in $PATH.

browserview has no external requirements.

cachemanagerdbus requires the browser to be running.

errorloggerdbus requires the browser to NOT be running


Documentation
-------------
For building the design documentation, see README in /documentation/designdocument/



Installing Qt 5 on Ubuntu 12.04
===============================

If your target is to build GENIVI's Browser Proof-of-Concept on Ubuntu
12.04 LTS, then these instructions may help you through the build
process. The build process is slightly different if you're using
Ubuntu's version of Qt 5.

System requirements
-------------------

Ubuntu 12.04 LTS

To get a later version of Qt on Ubuntu 12.04, which was released
nearly two years ago, you can use the Ubuntu provided SDK for Qt
available as a PPA.[2] The easiest way to do this is to add to
/etc/apt/sources.list these two lines;

 deb http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu precise main
 deb-src http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu precise main

Alternatively Ubuntu puts PPAs in the sources.list.d directory so you
can put those two lines in a file called
/etc/apt/sources.list.d/ubuntu-sdk-team-ppa-precise.list
and then run;

$ sudo apt-get update
$ sudo apt-get install qtdeclarative5-dev

The above commands install the headers / libraries necessary for
development with Qt and QML.

See also: http://askubuntu.com/questions/279421/how-can-i-install-qt-5-x-on-12-04-lts

References
----------

[1] http://www.semicomplete.com/projects/xdotool/
[2] https://launchpad.net/~ubuntu-sdk-team/+archive/ppa