summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--application-manager.pro1
-rw-r--r--doc/installation.qdoc4
-rw-r--r--qmake-features/am-config.prf1
-rw-r--r--src/main-lib/main-lib.pro1
-rw-r--r--src/main-lib/main.cpp2
-rw-r--r--src/main-lib/main.h3
6 files changed, 11 insertions, 1 deletions
diff --git a/application-manager.pro b/application-manager.pro
index 83efe2ab..cec08b52 100644
--- a/application-manager.pro
+++ b/application-manager.pro
@@ -82,6 +82,7 @@ printConfigLine("Qt installation", $$[QT_HOST_BINS])
printConfigLine("Debug or release", $$check_debug, white)
printConfigLine("Installation prefix", $$INSTALL_PREFIX, auto)
printConfigLine("Tools only build", $$yesNo(CONFIG(tools-only)), no)
+printConfigLine("Enable support for QtWidgets", $$yesNo(CONFIG(enable-widgets)), auto)
printConfigLine("Headless", $$yesNo(CONFIG(headless)), auto)
printConfigLine("QtCompositor support", $$yesNo(CONFIG(am_compatible_compositor)), auto)
printConfigLine("Multi-process mode", $$check_multi, auto)
diff --git a/doc/installation.qdoc b/doc/installation.qdoc
index e32112af..5748509e 100644
--- a/doc/installation.qdoc
+++ b/doc/installation.qdoc
@@ -156,6 +156,10 @@ There are various options that can be given to \c qmake to tailor the build to y
\li Paramount if you are running systemd and plan on supporting SD-Card installations. Works
around systemd interfering with loopback mounts.
\row
+ \li \c{-config enable-widgets}
+ \li Enables support for Qt widgets. Enabling this option can be useful to enable the use of some
+ development graphical tools using Qt widgets.
+\row
\li \c{-config hardware-id=<id>}
\li Compiles in \c id as a hard-coded hardware-id (see below for more information)
\row
diff --git a/qmake-features/am-config.prf b/qmake-features/am-config.prf
index 21c00df2..6b29967c 100644
--- a/qmake-features/am-config.prf
+++ b/qmake-features/am-config.prf
@@ -15,6 +15,7 @@ disable-installer:DEFINES *= AM_DISABLE_INSTALLER
disable-external-dbus-interfaces:DEFINES *= AM_DISABLE_EXTERNAL_DBUS_INTERFACES
systemd-workaround:DEFINES *= AM_SYSTEMD_WORKAROUND
headless:DEFINES *= AM_HEADLESS
+enable-widgets:DEFINES *= AM_ENABLE_WIDGETS
linux:!android:!disable-libbacktrace:if(enable-libbacktrace|CONFIG(debug, debug|release)):DEFINES *= AM_USE_LIBBACKTRACE
!force-single-process {
diff --git a/src/main-lib/main-lib.pro b/src/main-lib/main-lib.pro
index 2f0418dd..c201992d 100644
--- a/src/main-lib/main-lib.pro
+++ b/src/main-lib/main-lib.pro
@@ -5,6 +5,7 @@ MODULE = appman_main
load(am-config)
QT = core network qml core-private
+enable-widgets:QT *= widgets
!headless:QT *= gui quick
qtHaveModule(pssdp):QT *= pssdp
qtHaveModule(pshellserver):QT *= pshellserver
diff --git a/src/main-lib/main.cpp b/src/main-lib/main.cpp
index 57a69cea..29c511f4 100644
--- a/src/main-lib/main.cpp
+++ b/src/main-lib/main.cpp
@@ -146,7 +146,7 @@ Main::Main(int &argc, char **argv)
[](int /*sig*/) {
UnixSignalHandler::instance()->resetToDefault(SIGINT);
fputs("\n*** received SIGINT / Ctrl+C ... exiting ***\n\n", stderr);
- static_cast<Main *>(qApp)->shutDown(1);
+ static_cast<Main *>(QCoreApplication::instance())->shutDown();
});
StartupTimer::instance()->checkpoint("after application constructor");
}
diff --git a/src/main-lib/main.h b/src/main-lib/main.h
index aca760fd..b621b471 100644
--- a/src/main-lib/main.h
+++ b/src/main-lib/main.h
@@ -48,6 +48,9 @@
#if defined(AM_HEADLESS)
# include <QCoreApplication>
typedef QCoreApplication MainBase;
+#elif defined(AM_ENABLE_WIDGETS)
+#include <QApplication>
+typedef QApplication MainBase;
#else
# include <QGuiApplication>
typedef QGuiApplication MainBase;