diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2017-02-01 11:44:38 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2017-02-01 13:18:49 +0000 |
commit | 9e18b1b2f8b319a41a8fc967e119156be4d8ae7b (patch) | |
tree | 47d4dd880079399df7c8664492a57e503d3dff2c | |
parent | 54e452dc1b7f7db8a2c0e1cd5699e3097244e9a9 (diff) | |
download | qtivi-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>
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 @@ -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 |