aboutsummaryrefslogtreecommitdiffstats
path: root/src/ivicore/doc/src/installation.qdoc
blob: c6f3ce280a05dceba9b739cbd13fb94769398f6f (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
110
111
112
113
114
115
116
/****************************************************************************
**
** Copyright (C) 2019 Luxoft Sweden AB
** Copyright (C) 2018 Pelagicore AG
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the QtIvi module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL-QTAS$
** Commercial License Usage
** Licensees holding valid commercial Qt Automotive Suite licenses may use
** this file in accordance with the commercial license agreement provided
** with the Software or, alternatively, in accordance with the terms
** contained in a written agreement between you and The Qt Company.  For
** licensing terms and conditions see https://www.qt.io/terms-conditions.
** For further information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page qtivi-installation.html
\title Installation

Since the QtIvi module uses the same \l{Qt Configure Options}{Configure System} as the rest of Qt,
you can do build-time configuration and enable only the features that you need.

\section1 Features Available

The following table describes the featureas available in the module. Similar to other modules, the
available features are auto-detected and displayed after the configuration step in the "Configure
summary".

\table
\header
    \li Feature
    \li Dependency
    \li Description
\row
    \li IVI Generator
        \keyword feature-ivigenerator
    \li python3
        python3-virtualenv
    \li The IVI Generator provides tooling to generate source code from IDL files. The IVI
        Generator comes with a set of templates for specific code generation use cases.
\row
    \li QtRemoteObjects Support
        \keyword feature-qtremoteobjects
    \li QtRemoteObjects module
    \li The QtRemoteObjects Support is needed to generate \c qtivi backends, using QtRemoteObjects
        for its Inter-Process Communicationm (IPC). This feature also provides templates to
        generate the server part of this IPC.
\endtable

The following are additional command-line options to tailor the build system according to your
needs:

\table
\header
    \li Command-line Option
    \li Description
\row
    \li --host-tools-only
    \li Only compiles the tools needed on the host to cross-compile for another target.
        For example, the IVI Generator.
\row
    \li --ivigenerator <no|qt|system>
    \li \value no
               Disables the IVI Generator feature completely.
        \value qt
               Enables the IVI Generator feature; builds and packages the necessary files.
        \value system
               Enables the IVI Generator feature, but uses the IVI Generator-related files that are
               already available on the system. For example, from the native-qtivi package when you
               cross-compile inside Yocto.
\endtable

These command-line options can be passed to qmake using the \c QMAKE_EXTRA_ARGS environment variable:

\code
    QMAKE_EXTRA_ARGS="--host-tools-only" qmake <qtivi-src>/qtivi.pro
\endcode

\section2 Build the Required Features Only

By default, all QtIvi modules are configured to be built, depending on whether all the required
dependencies are available for the respective module or not. Similar to other Qt Features, you can
request for every module to be built or skip it explicitly using the \c{--[no-]feature-<modulename>}
argument, when you invoke \c qmake.

For example, to disable building QtIvi Media:
\code
    QMAKE_EXTRA_ARGS="--no-feature-ivimedia" qmake <qtivi-src>/qtivi.pro
\endcode

Selecting the required module explicitly has the advantage that you can see any errors, at
configuration time, if not all dependencies are met.

\section1 General Build Process

To build QtIvi modules, run the following commands:

\code
    qmake
    make
    make install
\endcode

*/