aboutsummaryrefslogtreecommitdiffstats
path: root/src/ivicore/doc/src/configuration.qdoc
blob: c5d442507194f00a34d37fa75ec49337151e5415 (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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/****************************************************************************
**
** 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 configuration.html
\title Configuration

The QtIvi module provides the following configuration options

\section1 Configure Options and Features

The following table shows the available features of the module. Just like with 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 out of IDL files. The IVI
        Generator comes with a set of templates for specific generation use-cases.
\row
    \li QtSimulator Support
        \keyword feature-qtsimulator
    \li QtSimulator module
    \li The QtSimulator Support is needed for the communication between the simulation backends and
        their control panel (controller). It enhances the built-in templates by also generating
        the needed code for the simulation backends to communicate over QtSimulator. In addition,
        it also provides a new template to generate a controller application to communicate with
        the simulation backend.
\row
    \li QtRemoteObjects Support
        \keyword feature-qtremoteobjects
    \li QtRemoteObjects module
    \li The QtRemoteObjects Support is needed to generate qtivi backends, using QtRemoteObjects as
    it's IPC. It also provides templates to generate the server part of this IPC.
\endtable

Additional command-line options to tailor the build-system 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 in order to cross-compile for another target.
        E.g. the \e {IVI Generator}
\row
    \li --ivigenerator <no|qt|system>
    \li \value no
               Disables the \e {IVI Generator} feature completely.
        \value qt
               Enables the \e {IVI Generator} feature: will build and package the needed files.
        \value system
               Enables the \e {IVI Generator} feature, but is using the \e {IVI Generator} files
               already available on the system. (e.g. from the native-qtivi package when
               cross-compiling 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 Only build what is needed

By default all QtIvi modules are configured to be built, depending on whether all needed dependencies
are available for the respective module or not. Similar to other Qt Features, every module can be
requested to be built or skipped explicitly using the "--[no-]feature-<modulename>" arguments when
invoking \c qmake.

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

Selecting the needed module explicitly has the advantage to show an error at configuration time
if not all dependencies are met.

\section1 Runtime Configuration

The following environment variables are supported for runtime configurations:

\table
\header
    \li Environment variable
    \li Description
\row
    \li SIMULATOR_HOSTNAME
    \li Specifies where the QtSimulator server is running - e.g. the autogenerated control panel
        binaries.
        \note This is only available when the \l {feature-qtsimulator} {QtSimulator Support} is
        enabled.
\endtable

Also see the documentation about the \l {QtIvi Backends} {backend plugins} for more runtime configuration options.

\section2 Logging

The \e qt.ivi.servicemanagement Logging Category can be used to get more information on which
backends were considered, when searching for the correct backend for a feature and also why it was
chosen.
*/