summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2017-02-01 11:44:38 +0100
committerRobert Griebl <robert.griebl@pelagicore.com>2017-02-01 13:18:49 +0000
commit9e18b1b2f8b319a41a8fc967e119156be4d8ae7b (patch)
tree47d4dd880079399df7c8664492a57e503d3dff2c
parent54e452dc1b7f7db8a2c0e1cd5699e3097244e9a9 (diff)
downloadqtivi-9e18b1b2f8b319a41a8fc967e119156be4d8ae7b.tar.gz
Move qtivi over to the new config system
Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. The geniviextras-only CONFIG option has now been replaced with a command-line option and can be used by passing it to qmake after '--'. E.g. 'qmake -- --geniviextras-only'. Removed adding DLT into the rpath. Similar to all other Qt modules, it is now expected that packages found using pkg-config can be found by the dynamic linker. Change-Id: If46cd1b79413cd7571ee1068898848d9871e61ba Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r--config.tests/dlt/dlt.pro11
-rw-r--r--config.tests/taglib/taglib.pro11
-rw-r--r--config_help.txt3
-rw-r--r--configure.json9
-rw-r--r--examples/examples.pro10
-rw-r--r--qtivi.pro3
-rw-r--r--src/geniviextras/configure.json79
-rw-r--r--src/geniviextras/geniviextras.pro13
-rw-r--r--src/geniviextras/qdltregistration.cpp2
-rw-r--r--src/geniviextras/qdltregistration_p.h1
-rw-r--r--src/geniviextras/qgeniviextrasglobal.h1
-rw-r--r--src/geniviextras/qgeniviextrasglobal_p.h59
-rw-r--r--src/ivicore/configure.json10
-rw-r--r--src/ivicore/qiviabstractfeature_p.h1
-rw-r--r--src/ivicore/qiviabstractfeaturelistmodel_p.h1
-rw-r--r--src/ivicore/qiviabstractzonedfeature_p.h1
-rw-r--r--src/ivicore/qiviproperty_p.h1
-rw-r--r--src/ivicore/qivipropertytester_p.h1
-rw-r--r--src/ivicore/qiviproxyserviceobject_p.h1
-rw-r--r--src/ivicore/qivisearchandbrowsemodel_p.h1
-rw-r--r--src/ivicore/qivisearchandbrowsemodelinterface_p.h1
-rw-r--r--src/ivicore/qiviservicemanager_p.h2
-rw-r--r--src/ivicore/qtiviglobal.h1
-rw-r--r--src/ivicore/qtiviglobal_p.h2
-rw-r--r--src/ivimedia/configure.json36
-rw-r--r--src/ivimedia/ivimedia.pro1
-rw-r--r--src/ivimedia/qiviamfmtuner_p.h1
-rw-r--r--src/ivimedia/qivimediadevicediscoverymodel_p.h1
-rw-r--r--src/ivimedia/qivimediaindexercontrol_p.h1
-rw-r--r--src/ivimedia/qivimediaplayer_p.h1
-rw-r--r--src/ivimedia/qiviplayqueue_p.h3
-rw-r--r--src/ivimedia/qtivimediaglobal.h1
-rw-r--r--src/ivimedia/qtivimediaglobal_p.h59
-rw-r--r--src/ivivehiclefunctions/configure.json10
-rw-r--r--src/ivivehiclefunctions/ivivehiclefunctions.pro3
-rw-r--r--src/ivivehiclefunctions/qiviclimatecontrol_p.h1
-rw-r--r--src/ivivehiclefunctions/qiviwindowcontrol_p.h1
-rw-r--r--src/ivivehiclefunctions/qtivivehiclefunctionsglobal_p.h59
-rw-r--r--src/plugins/ivimedia/media_simulator/media_simulator.pro11
-rw-r--r--src/src.pro14
-rw-r--r--tests/auto/auto.pro10
-rw-r--r--tests/auto/dlt/dlt.pro10
42 files changed, 371 insertions, 77 deletions
diff --git a/config.tests/dlt/dlt.pro b/config.tests/dlt/dlt.pro
index b8f0208..28dcadc 100644
--- a/config.tests/dlt/dlt.pro
+++ b/config.tests/dlt/dlt.pro
@@ -1,12 +1 @@
-TARGET = dlt
-QT = core
-
-!contains(QT_CONFIG, no-pkg-config) {
- CONFIG += link_pkgconfig
- PKGCONFIG += automotive-dlt
-} else {
- LIBS += -ldlt
-}
-
-# Input
SOURCES += main.cpp
diff --git a/config.tests/taglib/taglib.pro b/config.tests/taglib/taglib.pro
index 563372f..28dcadc 100644
--- a/config.tests/taglib/taglib.pro
+++ b/config.tests/taglib/taglib.pro
@@ -1,12 +1 @@
-TARGET = taglib
-QT = core
-
-!contains(QT_CONFIG, no-pkg-config) {
- CONFIG += link_pkgconfig
- PKGCONFIG += taglib
-} else {
- LIBS += -ltag
-}
-
-# Input
SOURCES += main.cpp
diff --git a/config_help.txt b/config_help.txt
new file mode 100644
index 0000000..1d30928
--- /dev/null
+++ b/config_help.txt
@@ -0,0 +1,3 @@
+GeniviExtras options:
+
+ -geniviextras-only .......... Only build the genivi extras module
diff --git a/configure.json b/configure.json
new file mode 100644
index 0000000..cb6be3e
--- /dev/null
+++ b/configure.json
@@ -0,0 +1,9 @@
+{
+ "subconfigs": [
+ "src/geniviextras",
+ "src/ivicore",
+ "src/ivivehiclefunctions",
+ "src/ivimedia"
+ ]
+}
+
diff --git a/examples/examples.pro b/examples/examples.pro
index a3bc472..e689d54 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,9 +1,5 @@
TEMPLATE = subdirs
-!geniviextras-only {
- SUBDIRS = vehiclefunctions \
- media
-}
-config_dlt {
- SUBDIRS += geniviextras
-}
+qtHaveModule(ivivehiclefunctions): SUBDIRS += vehiclefunctions
+qtHaveModule(ivimedia): SUBDIRS += media
+qtHaveModule(geniviextras): SUBDIRS += geniviextras
diff --git a/qtivi.pro b/qtivi.pro
index f0a7eda..5d6718b 100644
--- a/qtivi.pro
+++ b/qtivi.pro
@@ -13,9 +13,6 @@ QML_IMPORT_PATH = $$shadowed($$PWD)/qml
MIN_MINOR = 5
!equals(QT_MAJOR_VERSION, 5)|lessThan(QT_MINOR_VERSION, $$MIN_MINOR):error("QtIvi needs to be built against Qt 5.$${MIN_MINOR}+")
-load(configure)
-qtCompileTest(dlt)
-qtCompileTest(taglib)
load(qt_parts)
OTHER_FILES += sync.profile
diff --git a/src/geniviextras/configure.json b/src/geniviextras/configure.json
new file mode 100644
index 0000000..df101a8
--- /dev/null
+++ b/src/geniviextras/configure.json
@@ -0,0 +1,79 @@
+{
+ "module": "geniviextras",
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "geniviextras-only": "boolean"
+ }
+ },
+
+ "libraries": {
+ "dlt": {
+ "label": "DLT",
+ "test": "dlt",
+ "sources": [
+ { "type": "pkgConfig", "args": "automotive-dlt" },
+ "-ldlt"
+ ]
+ },
+ "dlt_2_12": {
+ "label": "DLT > 2.12",
+ "test": "dlt",
+ "sources": [
+ { "type": "pkgConfig", "args": "automotive-dlt >= 2.12.0" },
+ "-ldlt"
+ ]
+ }
+ },
+
+ "features": {
+ "dlt": {
+ "label": "DLT",
+ "autoDetect": "config.unix",
+ "condition": "libs.dlt",
+ "output": [ "privateFeature" ]
+ },
+
+ "dlt_2_12": {
+ "label": "DLT > 2.12",
+ "autoDetect": "config.unix",
+ "condition": "libs.dlt_2_12",
+ "output": [ "privateFeature" ]
+ },
+
+ "geniviextras-only": {
+ "label": "Only build Qt GENIVI Extras",
+ "condition": "input.geniviextras-only == 'yes'",
+ "output": [ "privateFeature" ]
+ }
+ },
+
+ "report": [
+ {
+ "type": "note",
+ "condition": "!features.dlt",
+ "message": "No DLT libs found. Disabled building Qt GENIVI Extras."
+ },
+ {
+ "type": "note",
+ "condition": "!features.dlt_2_12",
+ "message": "Old DLT version detected. Not all features of Qt GENIVI Extras can be enabled."
+ },
+ {
+ "type": "error",
+ "condition": "!features.dlt && input.geniviextras-only == 'yes'",
+ "message": "Mandatory dependency missing for only building Qt GENIVI Extras."
+ }
+ ],
+
+ "summary": [
+ {
+ "section": "Qt GENIVI Extras",
+ "entries": [
+ "dlt",
+ "dlt_2_12"
+ ]
+ }
+ ]
+}
diff --git a/src/geniviextras/geniviextras.pro b/src/geniviextras/geniviextras.pro
index 1466500..2e0175f 100644
--- a/src/geniviextras/geniviextras.pro
+++ b/src/geniviextras/geniviextras.pro
@@ -9,17 +9,7 @@ OTHER_FILES += \
$$PWD/doc/*.qdocconf \
$$PWD/doc/src/*.qdoc
-DLT_LIB_PATH = $$system($$pkgConfigExecutable() --variable=libdir automotive-dlt)
-system($$pkgConfigExecutable() --libs \"automotive-dlt >= 2.12.0\"): DEFINES += DLT_VERSION_2_12
-
-!contains(QT_CONFIG, no-pkg-config) {
- PKGCONFIG += automotive-dlt
-
- #Make sure that the rpath is also added when linking against the lib and is part of the prl
- LIBS += -Wl,-rpath=$$DLT_LIB_PATH
-} else {
- LIBS += -ldlt
-}
+QMAKE_USE += dlt
CMAKE_MODULE_TESTS = '-'
@@ -28,6 +18,7 @@ HEADERS += \
qdltregistration.h \
qdltregistration_p.h \
qgeniviextrasglobal.h \
+ qgeniviextrasglobal_p.h \
SOURCES += \
qdltregistration.cpp \
diff --git a/src/geniviextras/qdltregistration.cpp b/src/geniviextras/qdltregistration.cpp
index 364b97c..52dcc97 100644
--- a/src/geniviextras/qdltregistration.cpp
+++ b/src/geniviextras/qdltregistration.cpp
@@ -90,7 +90,7 @@ void QDltRegistrationPrivate::registerCategory(CategoryInfo &info)
Q_ASSERT_X(m_dltAppRegistered, "registerCategory", "A DLT Application needs to be registered before registering a Logging Category");
DLT_REGISTER_CONTEXT_LL_TS(*info.m_context, info.m_ctxName, info.m_ctxDescription, category2dltLevel(info.m_category), DLT_TRACE_STATUS_DEFAULT);
-#ifdef DLT_VERSION_2_12
+#ifdef QT_FEATURE_dlt_2_12
//TODO move to lamda once c++11 is ok to be used
DLT_REGISTER_LOG_LEVEL_CHANGED_CALLBACK(*info.m_context, &qtGeniviLogLevelChangedHandler);
#endif
diff --git a/src/geniviextras/qdltregistration_p.h b/src/geniviextras/qdltregistration_p.h
index e78e428..00d2e48 100644
--- a/src/geniviextras/qdltregistration_p.h
+++ b/src/geniviextras/qdltregistration_p.h
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#include <private/qgeniviextrasglobal_p.h>
#include <QString>
#include <QHash>
diff --git a/src/geniviextras/qgeniviextrasglobal.h b/src/geniviextras/qgeniviextrasglobal.h
index 1d0df9d..0f83d43 100644
--- a/src/geniviextras/qgeniviextrasglobal.h
+++ b/src/geniviextras/qgeniviextrasglobal.h
@@ -43,6 +43,7 @@
#define QGENIVIEXTRASGLOBAL_H
#include <QtCore/qglobal.h>
+#include <QtGeniviExtras/qtgeniviextras-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/geniviextras/qgeniviextrasglobal_p.h b/src/geniviextras/qgeniviextrasglobal_p.h
new file mode 100644
index 0000000..c2980f2
--- /dev/null
+++ b/src/geniviextras/qgeniviextrasglobal_p.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtIvi module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL-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 Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: LGPL-3.0
+**
+****************************************************************************/
+
+#ifndef QGENIVIEXTRASGLOBAL_P_H
+#define QGENIVIEXTRASGLOBAL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtGeniviExtras/private/qtgeniviextras-config_p.h>
+#include <QtGeniviExtras/qgeniviextrasglobal.h>
+
+#endif // QGENIVIEXTRASGLOBAL_P_H
diff --git a/src/ivicore/configure.json b/src/ivicore/configure.json
new file mode 100644
index 0000000..3a494e2
--- /dev/null
+++ b/src/ivicore/configure.json
@@ -0,0 +1,10 @@
+{
+ "module": "ivicore",
+ "testDir": "../../config.tests",
+
+ "features": {},
+
+ "report": [],
+
+ "summary": []
+}
diff --git a/src/ivicore/qiviabstractfeature_p.h b/src/ivicore/qiviabstractfeature_p.h
index 7459bdb..063924a 100644
--- a/src/ivicore/qiviabstractfeature_p.h
+++ b/src/ivicore/qiviabstractfeature_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <private/qobject_p.h>
#include "qiviabstractfeature.h"
diff --git a/src/ivicore/qiviabstractfeaturelistmodel_p.h b/src/ivicore/qiviabstractfeaturelistmodel_p.h
index a07aed5..ffa8b72 100644
--- a/src/ivicore/qiviabstractfeaturelistmodel_p.h
+++ b/src/ivicore/qiviabstractfeaturelistmodel_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <private/qabstractitemmodel_p.h>
#include "qiviabstractfeaturelistmodel.h"
diff --git a/src/ivicore/qiviabstractzonedfeature_p.h b/src/ivicore/qiviabstractzonedfeature_p.h
index d2d970c..fcd1abc 100644
--- a/src/ivicore/qiviabstractzonedfeature_p.h
+++ b/src/ivicore/qiviabstractzonedfeature_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include "qiviabstractfeature_p.h"
#include "qiviabstractzonedfeature.h"
diff --git a/src/ivicore/qiviproperty_p.h b/src/ivicore/qiviproperty_p.h
index da8ac92..6566682 100644
--- a/src/ivicore/qiviproperty_p.h
+++ b/src/ivicore/qiviproperty_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <QtCore/QObject>
QT_BEGIN_NAMESPACE
diff --git a/src/ivicore/qivipropertytester_p.h b/src/ivicore/qivipropertytester_p.h
index 117d7e8..9511352 100644
--- a/src/ivicore/qivipropertytester_p.h
+++ b/src/ivicore/qivipropertytester_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <QtIviCore/QIviProperty>
#include <QtIviCore/QIviPropertyFactory>
#include <QtIviCore/qiviqmlconversion_helper.h>
diff --git a/src/ivicore/qiviproxyserviceobject_p.h b/src/ivicore/qiviproxyserviceobject_p.h
index acf99a1..f18677c 100644
--- a/src/ivicore/qiviproxyserviceobject_p.h
+++ b/src/ivicore/qiviproxyserviceobject_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <QtIviCore/QIviServiceObject>
QT_BEGIN_NAMESPACE
diff --git a/src/ivicore/qivisearchandbrowsemodel_p.h b/src/ivicore/qivisearchandbrowsemodel_p.h
index 6a070dc..c2c7ace 100644
--- a/src/ivicore/qivisearchandbrowsemodel_p.h
+++ b/src/ivicore/qivisearchandbrowsemodel_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <QtIviCore/private/qiviabstractfeaturelistmodel_p.h>
#include "qivisearchandbrowsemodelinterface.h"
diff --git a/src/ivicore/qivisearchandbrowsemodelinterface_p.h b/src/ivicore/qivisearchandbrowsemodelinterface_p.h
index bab9d46..2777a64 100644
--- a/src/ivicore/qivisearchandbrowsemodelinterface_p.h
+++ b/src/ivicore/qivisearchandbrowsemodelinterface_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtiviglobal_p.h>
#include <private/qobject_p.h>
#include "qivisearchandbrowsemodelinterface.h"
diff --git a/src/ivicore/qiviservicemanager_p.h b/src/ivicore/qiviservicemanager_p.h
index 16b71af..a1bec70 100644
--- a/src/ivicore/qiviservicemanager_p.h
+++ b/src/ivicore/qiviservicemanager_p.h
@@ -60,7 +60,7 @@
#include <QtCore/QMap>
#include <QtCore/QSet>
-#include <QtIviCore/qtiviglobal.h>
+#include <private/qtiviglobal_p.h>
#include <QtIviCore/qiviservicemanager.h>
QT_BEGIN_NAMESPACE
diff --git a/src/ivicore/qtiviglobal.h b/src/ivicore/qtiviglobal.h
index 1afc7c0..64b7fb3 100644
--- a/src/ivicore/qtiviglobal.h
+++ b/src/ivicore/qtiviglobal.h
@@ -43,6 +43,7 @@
#define QIVIGLOBAL_H
#include <QtCore/qglobal.h>
+#include <QtIviCore/qtivicore-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/ivicore/qtiviglobal_p.h b/src/ivicore/qtiviglobal_p.h
index defd4a4..8e17dfc 100644
--- a/src/ivicore/qtiviglobal_p.h
+++ b/src/ivicore/qtiviglobal_p.h
@@ -56,6 +56,8 @@
#include <QtCore/qglobal.h>
+#include <QtIviCore/private/qtivicore-config_p.h>
+#include <QtIviCore/qtiviglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/ivimedia/configure.json b/src/ivimedia/configure.json
new file mode 100644
index 0000000..ae7e60d
--- /dev/null
+++ b/src/ivimedia/configure.json
@@ -0,0 +1,36 @@
+{
+ "module": "ivimedia",
+ "testDir": "../../config.tests",
+
+ "libraries": {
+ "taglib": {
+ "label": "taglib",
+ "test": "taglib",
+ "sources": [
+ { "type": "pkgConfig", "args": "taglib" },
+ "-ltag"
+ ]
+ }
+ },
+
+ "features": {
+ "taglib": {
+ "label": "taglib",
+ "condition": "libs.taglib",
+ "output": [
+ "privateFeature",
+ { "type": "define", "name": "QT_TAGLIB" }
+ ]
+ }
+ },
+
+ "summary": [
+ {
+ "section": "Qt IVI Media",
+ "entries": [
+ "taglib"
+ ]
+ }
+ ]
+}
+
diff --git a/src/ivimedia/ivimedia.pro b/src/ivimedia/ivimedia.pro
index cda24e7..8989df0 100644
--- a/src/ivimedia/ivimedia.pro
+++ b/src/ivimedia/ivimedia.pro
@@ -11,6 +11,7 @@ CMAKE_MODULE_TESTS = '-'
HEADERS += \
qtivimediaglobal.h \
+ qtivimediaglobal_p.h \
qivimediaplayer.h \
qivimediaplayer_p.h \
qiviplayableitem.h \
diff --git a/src/ivimedia/qiviamfmtuner_p.h b/src/ivimedia/qiviamfmtuner_p.h
index 4ad1fb7..66776ce 100644
--- a/src/ivimedia/qiviamfmtuner_p.h
+++ b/src/ivimedia/qiviamfmtuner_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "private/qtivimediaglobal_p.h"
#include "private/qiviabstractfeature_p.h"
#include "qiviamfmtuner.h"
diff --git a/src/ivimedia/qivimediadevicediscoverymodel_p.h b/src/ivimedia/qivimediadevicediscoverymodel_p.h
index a22d0fd..f72b9c0 100644
--- a/src/ivimedia/qivimediadevicediscoverymodel_p.h
+++ b/src/ivimedia/qivimediadevicediscoverymodel_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "private/qtivimediaglobal_p.h"
#include "private/qiviabstractfeaturelistmodel_p.h"
#include "qivimediadevicediscoverymodel.h"
diff --git a/src/ivimedia/qivimediaindexercontrol_p.h b/src/ivimedia/qivimediaindexercontrol_p.h
index 506899d..8235e20 100644
--- a/src/ivimedia/qivimediaindexercontrol_p.h
+++ b/src/ivimedia/qivimediaindexercontrol_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "private/qtivimediaglobal_p.h"
#include "private/qiviabstractfeature_p.h"
#include "qivimediaindexercontrol.h"
diff --git a/src/ivimedia/qivimediaplayer_p.h b/src/ivimedia/qivimediaplayer_p.h
index 45f886b..786ec73 100644
--- a/src/ivimedia/qivimediaplayer_p.h
+++ b/src/ivimedia/qivimediaplayer_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include "private/qtivimediaglobal_p.h"
#include "private/qiviabstractfeature_p.h"
#include "qivimediaplayer.h"
diff --git a/src/ivimedia/qiviplayqueue_p.h b/src/ivimedia/qiviplayqueue_p.h
index 0348dfb..fff3f8e 100644
--- a/src/ivimedia/qiviplayqueue_p.h
+++ b/src/ivimedia/qiviplayqueue_p.h
@@ -53,7 +53,8 @@
// We mean it.
//
-#include <private/qabstractitemmodel_p.h>
+#include "private/qtivimediaglobal_p.h"
+#include "private/qabstractitemmodel_p.h"
#include "qiviplayqueue.h"
#include "qiviplayableitem.h"
diff --git a/src/ivimedia/qtivimediaglobal.h b/src/ivimedia/qtivimediaglobal.h
index cd15ec1..0b8b20d 100644
--- a/src/ivimedia/qtivimediaglobal.h
+++ b/src/ivimedia/qtivimediaglobal.h
@@ -43,6 +43,7 @@
#define QTIVIMEDIAGLOBAL_H
#include <QtCore/qglobal.h>
+#include <QtIviMedia/qtivimedia-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/ivimedia/qtivimediaglobal_p.h b/src/ivimedia/qtivimediaglobal_p.h
new file mode 100644
index 0000000..15f24ef
--- /dev/null
+++ b/src/ivimedia/qtivimediaglobal_p.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtIvi module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL-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 Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: LGPL-3.0
+**
+****************************************************************************/
+
+#ifndef QTIVIMEDIAGLOBAL_P_H
+#define QTIVIMEDIAGLOBAL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtIviMedia/private/qtivimedia-config_p.h>
+#include <QtIviMedia/qtivimediaglobal.h>
+
+#endif // QTIVIMEDIAGLOBAL_P_H
diff --git a/src/ivivehiclefunctions/configure.json b/src/ivivehiclefunctions/configure.json
new file mode 100644
index 0000000..a20db32
--- /dev/null
+++ b/src/ivivehiclefunctions/configure.json
@@ -0,0 +1,10 @@
+{
+ "module": "ivivehiclefunctions",
+ "testDir": "../../config.tests",
+
+ "features": {},
+
+ "report": [],
+
+ "summary": []
+}
diff --git a/src/ivivehiclefunctions/ivivehiclefunctions.pro b/src/ivivehiclefunctions/ivivehiclefunctions.pro
index e532369..0dcb784 100644
--- a/src/ivivehiclefunctions/ivivehiclefunctions.pro
+++ b/src/ivivehiclefunctions/ivivehiclefunctions.pro
@@ -11,9 +11,10 @@ OTHER_FILES = \
CMAKE_MODULE_TESTS = '-'
HEADERS += \
+ qtivivehiclefunctionsglobal.h \
+ qtivivehiclefunctionsglobal_p.h \
qiviclimatecontrol.h \
qiviclimatecontrolbackendinterface.h \
- qtivivehiclefunctionsglobal.h \
qiviclimatecontrol_p.h \
qiviwindowcontrol.h \
qiviwindowcontrol_p.h \
diff --git a/src/ivivehiclefunctions/qiviclimatecontrol_p.h b/src/ivivehiclefunctions/qiviclimatecontrol_p.h
index 12388f1..8ddec77 100644
--- a/src/ivivehiclefunctions/qiviclimatecontrol_p.h
+++ b/src/ivivehiclefunctions/qiviclimatecontrol_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtivivehiclefunctionsglobal_p.h>
#include <QtIviCore/QIviProperty>
#include "private/qiviabstractzonedfeature_p.h"
diff --git a/src/ivivehiclefunctions/qiviwindowcontrol_p.h b/src/ivivehiclefunctions/qiviwindowcontrol_p.h
index bb1b266..586af6e 100644
--- a/src/ivivehiclefunctions/qiviwindowcontrol_p.h
+++ b/src/ivivehiclefunctions/qiviwindowcontrol_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
+#include <private/qtivivehiclefunctionsglobal_p.h>
#include <QtIviCore/QIviProperty>
#include "private/qiviabstractzonedfeature_p.h"
diff --git a/src/ivivehiclefunctions/qtivivehiclefunctionsglobal_p.h b/src/ivivehiclefunctions/qtivivehiclefunctionsglobal_p.h
new file mode 100644
index 0000000..d88adcd
--- /dev/null
+++ b/src/ivivehiclefunctions/qtivivehiclefunctionsglobal_p.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtIvi module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL-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 Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: LGPL-3.0
+**
+****************************************************************************/
+
+#ifndef QIVIVEHICLEFUNCTIONSGLOBAL_P_H
+#define QIVIVEHICLEFUNCTIONSGLOBAL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtIviVehicleFunctions/private/qtivivehiclefunctions-config_p.h>
+#include <QtIviVehicleFunctions/qtivivehiclefunctionsglobal.h>
+
+#endif // QIVIVEHICLEFUNCTIONSGLOBAL_P_H
diff --git a/src/plugins/ivimedia/media_simulator/media_simulator.pro b/src/plugins/ivimedia/media_simulator/media_simulator.pro
index 3279207..2a62b5e 100644
--- a/src/plugins/ivimedia/media_simulator/media_simulator.pro
+++ b/src/plugins/ivimedia/media_simulator/media_simulator.pro
@@ -1,4 +1,5 @@
TARGET = media_simulator
+QT_FOR_CONFIG += ivimedia-private
PLUGIN_TYPE = qtivi
PLUGIN_EXTENDS = qtivi
@@ -8,15 +9,7 @@ QT += core ivicore ivimedia sql multimedia
load(qt_plugin)
-config_taglib {
- DEFINES += QT_TAGLIB
- !contains(QT_CONFIG, no-pkg-config) {
- CONFIG += link_pkgconfig
- PKGCONFIG = taglib
- } else {
- LIBS += -ltag
- }
-}
+qtConfig(taglib): QMAKE_USE += taglib
DISTFILES += media_simulator.json
diff --git a/src/src.pro b/src/src.pro
index de262fe..3293e88 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,5 +1,11 @@
TEMPLATE = subdirs
-!geniviextras-only {
+
+# Include the config.pri from the build folder as the qtgenivieextras-config.pri is copied
+# while syncqt is running for the module and this is not done yet.
+include($$OUT_PWD/geniviextras/qtgeniviextras-config.pri)
+QT_FOR_CONFIG += geniviextras-private
+
+!qtConfig(geniviextras-only) {
SUBDIRS = ivicore \
ivivehiclefunctions \
ivimedia \
@@ -13,8 +19,4 @@ TEMPLATE = subdirs
imports.depends = ivivehiclefunctions ivimedia
}
-config_dlt {
- SUBDIRS += geniviextras
-} else {
- warning("No dlt found, disabling building geniviextras")
-}
+qtConfig(dlt): SUBDIRS += geniviextras
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 75ccd6a..561f32b 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -1,9 +1,5 @@
TEMPLATE = subdirs
-!geniviextras-only {
- SUBDIRS = core vehiclefunctions
-}
-
-config_dlt {
- SUBDIRS += dlt
-}
+qtHaveModule(ivicore): SUBDIRS += core
+qtHaveModule(ivivehiclefunctions): SUBDIRS += vehiclefunctions
+qtHaveModule(geniviextras): SUBDIRS += dlt
diff --git a/tests/auto/dlt/dlt.pro b/tests/auto/dlt/dlt.pro
index feb04bc..8467358 100644
--- a/tests/auto/dlt/dlt.pro
+++ b/tests/auto/dlt/dlt.pro
@@ -1,15 +1,9 @@
QT += testlib geniviextras
TARGET = tst_dlt
-CONFIG += testcase link_pkgconfig
+CONFIG += testcase
-DLT_LIB_PATH = $$system($$pkgConfigExecutable() --variable=libdir automotive-dlt)
-!contains(QT_CONFIG, no-pkg-config) {
- PKGCONFIG += automotive-dlt
- QMAKE_RPATH += $$DLT_LIB_PATH
-} else {
- LIBS += -ldlt
-}
+QMAKE_USE += dlt
TEMPLATE = app