From 578b6d6978d7b42baefd85277c0d332f36142c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Cotty?= Date: Sun, 22 Nov 2020 00:08:34 +0100 Subject: Disable moc for the aggregate product when multiplexing Running moc in the aggregate can't happen anymore because it generates an error when accessing cpp.defines. Before 527d5a8ec54e44291d4968754bdf574ebe57822b cpp.defines was not accessed for hpp files. Anyway it doesn't make sense to call moc in the aggregate as the generated files won't be compiled. Change-Id: I25ada3c8c54b199efb0877b59025fff88dc84dd8 Reviewed-by: Ivan Komissarov --- share/qbs/module-providers/Qt/templates/core.qbs | 5 +++++ .../auto/blackbox/testdata-android/qt-app/MainWindow.cpp | 11 +++++++++++ tests/auto/blackbox/testdata-android/qt-app/MainWindow.h | 15 +++++++++++++++ tests/auto/blackbox/testdata-android/qt-app/main.cpp | 7 ++++--- tests/auto/blackbox/testdata-android/qt-app/qt-app.qbs | 2 +- 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 tests/auto/blackbox/testdata-android/qt-app/MainWindow.cpp create mode 100644 tests/auto/blackbox/testdata-android/qt-app/MainWindow.h diff --git a/share/qbs/module-providers/Qt/templates/core.qbs b/share/qbs/module-providers/Qt/templates/core.qbs index 113f868cf..691e4b50c 100644 --- a/share/qbs/module-providers/Qt/templates/core.qbs +++ b/share/qbs/module-providers/Qt/templates/core.qbs @@ -292,9 +292,13 @@ Module { property bool combineMocOutput: cpp.combineCxxSources property bool enableBigResources: false + // Product should not moc in the aggregate when multiplexing. + property bool enableMoc: !(product.multiplexed || product.aggregate) + || product.multiplexConfigurationId Rule { name: "QtCoreMocRuleCpp" + condition: enableMoc property string cppInput: cpp.combineCxxSources ? "cpp.combine" : "cpp" property string objcppInput: cpp.combineObjcxxSources ? "objcpp.combine" : "objcpp" inputs: [objcppInput, cppInput] @@ -306,6 +310,7 @@ Module { } Rule { name: "QtCoreMocRuleHpp" + condition: enableMoc inputs: "hpp" auxiliaryInputs: ["qt_plugin_metadata", "cpp", "objcpp"]; excludedInputs: "unmocable" diff --git a/tests/auto/blackbox/testdata-android/qt-app/MainWindow.cpp b/tests/auto/blackbox/testdata-android/qt-app/MainWindow.cpp new file mode 100644 index 000000000..b2e08c83e --- /dev/null +++ b/tests/auto/blackbox/testdata-android/qt-app/MainWindow.cpp @@ -0,0 +1,11 @@ +#include "MainWindow.h" + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) +{ +} + +MainWindow::~MainWindow() +{ +} + diff --git a/tests/auto/blackbox/testdata-android/qt-app/MainWindow.h b/tests/auto/blackbox/testdata-android/qt-app/MainWindow.h new file mode 100644 index 000000000..ace53a4a0 --- /dev/null +++ b/tests/auto/blackbox/testdata-android/qt-app/MainWindow.h @@ -0,0 +1,15 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); +}; + +#endif // MAINWINDOW_H diff --git a/tests/auto/blackbox/testdata-android/qt-app/main.cpp b/tests/auto/blackbox/testdata-android/qt-app/main.cpp index 6278e2924..0a0916fca 100644 --- a/tests/auto/blackbox/testdata-android/qt-app/main.cpp +++ b/tests/auto/blackbox/testdata-android/qt-app/main.cpp @@ -1,10 +1,11 @@ -#include +#include "MainWindow.h" + #include int main(int argc, char *argv[]) { QApplication a(argc, argv); - QMainWindow w; + MainWindow w; w.show(); - return 0; + return a.exec(); } diff --git a/tests/auto/blackbox/testdata-android/qt-app/qt-app.qbs b/tests/auto/blackbox/testdata-android/qt-app/qt-app.qbs index ceeda2dc3..981c9eb3d 100644 --- a/tests/auto/blackbox/testdata-android/qt-app/qt-app.qbs +++ b/tests/auto/blackbox/testdata-android/qt-app/qt-app.qbs @@ -1,7 +1,7 @@ Project { QtGuiApplication { Depends { name: "Lib" } - files: "main.cpp" + files: ["main.cpp", "MainWindow.cpp", "MainWindow.h"] Android.sdk.packageName: "my.qtapp" Android.sdk.apkBaseName: name Depends { name: "Qt"; submodules: ["core", "widgets"] } -- cgit v1.2.3