summaryrefslogtreecommitdiff
path: root/qmake-features
Commit message (Collapse)AuthorAgeFilesLines
* cmake: remove qmake build system (except in examples/)Robert Griebl2021-06-3011-380/+0
| | | | | Change-Id: I8d00047f8e03bb77863041eaa99f1bba13a15a32 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: Nearly full cmake buildRobert Griebl2021-06-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Had to rename a lot of things to conform with the standard Qt module layout that the cmake system expects: - all non-manual tests were moved to a sub-dir named auto/ - the benchmark was moved to tests/ - the 3rdparty folder was moved into src/ Other changes: - libyaml was updated to 2.2.5 while fixing a weird build issue that led to crashes on 64bit systems. - fixed build issues with the new 8.1 MingW compiler. - added support for QT_NO_OPENGL builds. The remaining issues are: - examples still don't build with qmake due to a potential bug in module.pri generation. - tests do run, but the test data is not generated yet dynamically. - qml-only tests are not built and run yet. - qml-only examples are not built yet. Fixes: AUTOSUITE-1632 Change-Id: Ic5fe0148e738b05835c73bed78e624b55861b75e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Remove legacy functionality: headless, pssdp and pshellserverRobert Griebl2020-11-281-6/+1
| | | | | Change-Id: Iffeaa944cce5d09d0a1d1af2d85aa5f5034b7f71 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Qt6 port, part 2 .. compiling with cmakeRobert Griebl2020-11-281-1/+5
| | | | | Change-Id: I0b3b0bd420fc2b5a5d263439ef263a8214bbdb4b Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Disallow implicit ASCII castsBernd Weimer2020-09-171-1/+1
| | | | | | | Disallow implicit C string to QString conversion, except in tests. Change-Id: I0d1477784eede11a54544c28b338fe7ecd42ef02 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix memory leaks found with gcc's ASANRobert Griebl2020-08-101-0/+2
| | | | | Change-Id: If356a7c5decb8b69db96ba0522211828e6bca4b5 Reviewed-by: Thomas Senyk <thomas.senyk@qt.io>
* Spelling fixes all over the placeRobert Griebl2020-07-171-1/+1
| | | | | Change-Id: Ic0018eddb8fcfbd22136fbf62d3e15e0e1c4c0b3 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Enable libbacktrace support for macosDominik Holland2020-02-221-1/+1
| | | | | | | | | Similar to windows, we always want to provide a good stacktrace on mac and enable the libbacktrace support for release binaries as well. Change-Id: I1f7585c749505035e55fd44e088340a493b265d9 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Automatcially enable stack-walker for all windows buildsDominik Holland2020-02-221-1/+1
| | | | | | | | | As windows is one of our development platforms, but not really a target platform, enable the stack-walker also for release builds, which is also what the installer provides. Change-Id: Iecbf26cc4a6d7af7e996e77235ebba2744eceb1f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add a Windows crash handler for MSVC And MinGWRobert Griebl2020-02-111-1/+2
| | | | | | | | | | | | | | Backtraces are not supported on MinGW at the moment, because StackWalker doesn't compile due to a missing dbghelp import library. Also improved the async-safety of output functions. On the Linux side, I noticed a lot of dead-locks and crashes while generating the backtrace lately. In addition, the getOutputInformation kitchen-sink function has been split up a bit and moved to the logging.cpp where it logically belongs. Change-Id: I354c0e4e212a247338faddb6e15d8d0831852086 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Merge remote-tracking branch 'gerrit/5.13' into 5.14Robert Griebl2020-01-211-0/+4
|\ | | | | | | Change-Id: I3e8a149be99266ad6438759fda9acb1c9dd12448
| * am-app: Return with a warning if the appman-packager is not availableDominik Holland2019-11-081-0/+4
| | | | | | | | | | | | | | | | | | | | Currently every project which uses the am-app feature fails with an error if the appman-packager exectuable is not available. Instead check for the executable before and return early with a warning. Change-Id: I6725d6d801baa3a60bbe381b3b42fe680dcbff3e Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | Fully transparent and generic cache for config and app databaseRobert Griebl2019-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | The existing caching mechanism for config files was abstracted and extended, so that it could be re-used to parse and cache the info.yaml files. This results in a much more robust application database and should get rid of 99.9% of all the -r/--recreate-database option usages. Change-Id: Ic37fcd3b0e55d481712d469b6e331b9c433a9c5d Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* | Add new package abstraction, part 2Robert Griebl2019-10-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | The first commit in this series was b4aee167d3bc6b9f64229317fbc428b3f3b83c0d. This update fixes all the known bugs introduced in the change of the architecture, adds basic documentation and examples. The changes in the intent sub-system are in a separate patch for easier review, although they both depend on each other due to changes in the API. Change-Id: Ia78da7e10e2eb7adfa30625554af275453065a90 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* | Add support for Qt resourcesBernd Weimer2019-08-132-3/+13
| | | | | | | | | | | | | | | | | | Qt resources can be added in the form of resource files or libraries that have resources compiled-in. The resource file system can be accessed with the ":" or "qrc://" prefix. Change-Id: I947d00de964f55cd6f6be173ff2f93d073aadc82 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Merge remote-tracking branch 'gerrit/5.13' into devRobert Griebl2019-08-091-1/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gerrit/5.13: Bump version to 5.13.1 Ignore $WAYLAND_DISPLAY when starting on Wayland desktop environments Cleanup application lifecycle in single-process mode Bump version to 5.12.4 Fix app start/stop in single-process mode Destroy QDBusServer instance when an application quits Fix applications reusing a runtime object that is about to be destructed Fix broken Wayland socket name detection Fix crashes when trying to start blocked apps Wait for apps to stop before actually uninstalling them Make sure the app-db is flushed after writing Fix possibly crashing qml/simple tests Only calculate the hardwareId once [intents] add intents list to read/write of ApplicationInfo to stream Fix headless compilation Change-Id: Iaa7026852e5d3ab48140aae09b4159ad9939eba2
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-081-1/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake-features/am-config.prf src/main-lib/main.cpp src/manager-lib/applicationmanager.cpp src/monitor-lib/monitor-lib.pro Change-Id: I4aa0f2c901480d1f04f4260fe4ab1e005369432e
| | * Fix headless compilationRobert Griebl2019-08-011-0/+4
| | | | | | | | | | | | | | | | | | | | | (backported from 5.13) Change-Id: I4eb3fae767066dcfb64f3f6fc126680768a10ecc Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | | Make all files known to QtCreatorRobert Griebl2019-08-051-0/+3
|/ / | | | | | | | | | | | | | | This makes it way easier to do a global search&replace in the project. Plus you actually always see what's there, even if it's not built by default. Change-Id: If51a8c502a0b07efc8cae55ecd37aa5c64244482 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* | Fix headless compilationRobert Griebl2019-07-081-0/+2
| | | | | | | | | | Change-Id: I4eb3fae767066dcfb64f3f6fc126680768a10ecc Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Better automatic dbus setup during developmentRobert Griebl2019-03-141-1/+0
|/ | | | | | | | | | | | | | | | The default is now to always start a private session bus, unless explicitly configured otherwise. This solves 2 problems: 1) There's no difference between Linux and Mac/Win in regards to configuration default values 2) The 'notifications end up in the desktop environment' problems on Linux desktops cannot happen anymore with a default setup. The --start-session-dbus command line option is now the default and thus obsolete. Change-Id: Ib0487307668ba6d5edfb9c4b0daa5888d1e3b327 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Don't generate the example wrapper in cross buildsRobert Griebl2018-12-191-1/+1
| | | | | | Fixes: AUTOSUITE-719 Change-Id: I6d5494ee0a5688ec1cc31e951c2c22c22713c42b Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Add tests for various configurationsBernd Weimer2018-12-051-2/+9
| | | | | | | | | | | Various runtime configurations will be tested in terms of basic IPC between System-UI and an application. In particular the "--dbus none" option will be tested. [Cherry-picked from dev] Change-Id: Icf2142db864d15dfc7b18070d181fd76e6044514 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Add a qmake integration to package applications using appman-packagerDominik Holland2018-12-053-1/+76
| | | | | | Task-number: AUTOSUITE-691 Change-Id: I697ef05c3a705dd9bffdbba06258ca2a84e67374 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* The minimum supported Qt version is 5.11.2 right nowRobert Griebl2018-10-261-26/+0
| | | | | Change-Id: Ie279690414939f20b17afece6fac92f6e1936deb Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Windows fixesRobert Griebl2018-10-191-1/+2
| | | | | | | | | | | 1) 'true' is not a valid command in Window's cmd.exe 2) Avoid a crash on exit due to the ConsoleThread being killed 3) Fix warning in int -> void * conversion on 64bit builds 4) Win10 1803 now comes with a bsdtar in c:\windows that actually works, but it returns windows-style \r\n line breaks Change-Id: I0340ee3e5185298f5b0a5e7d7cf5e2ef57b8b9a3 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Really fix the "Undefined interface" errorRobert Griebl2018-10-111-1/+3
| | | | | | | | | | | | | The problem comes from generating the DBus adaptors via a custom compiler: the code for that was copied from the official dbusadaptors.prf file in Qt, but the moc custom-compiler step in this prf file messes with the INCLUDEPATH. This problem is actually related to the order in which qmake is loading the prf features from the CONFIG variable: if we prepend the dbus-adaptor-xml feature, it will load the moc.prf feature in the right state. Change-Id: I3a735fafc24792c0a6bfa5b291640ba09f6844a8 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Add basic iOS support. Fix all "macOS" referencesRobert Griebl2018-08-242-2/+2
| | | | | | | | | This adds the basics to compile all of the AM as well as Neptune-3 for iOS. Actually running everything automatically through QtCreator needs a few more tweaks in qmake/installation rules to correctly deploy. Change-Id: Iaf17594b9944e36510ff47cf15668a12e3a08af6 Reviewed-by: Daniel d'Andrada <daniel.dandrada@luxoft.com>
* Set the minimum supported Qt version to 5.11Robert Griebl2018-07-261-3/+3
| | | | | | | | | This was decided, since QtWayland 5.9 has multiple problems that are not easy to workaround (both with the new WindowManager approach and the new Wayland extension) Change-Id: Ia386aa86246bbc980bb456876a874510d57e8bad Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Install the am-systemui.prf qmake feature fileDominik Holland2018-05-161-0/+11
| | | | | | | The feature file is needed when building the application-manager examples Change-Id: Ib1817b39201f345cef1b84e4bdb76c733378f265 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Make the minidesk and monitor examples launchable from qt-creatorDominik Holland2018-05-161-0/+28
| | | | | | | | | | | | | | | For project like these there is now a new qmake feature called am-systemui. This feature will copy all files and folder defined by AM_COPY_DIRECTORIES and AM_COPY_FILES to the build-folder and create a runner script which executes appman with the the arguments defined by AM_DEFAULT_ARGS. This script is setup as the qmake TARGET and can be started by qt-creator. This trick has the limitation that debugging is not supported Change-Id: If93d7971df646163e9819a3c5e8a436fc76bef21 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Remove the uneeded waylandcompositor-private dependencyRobert Griebl2018-05-111-1/+1
| | | | | Change-Id: Iaa6f99af6cb6336f8988de58531a9d16a5bad0b8 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Remove the last traces of pre-5.7 QtWaylandRobert Griebl2018-04-171-1/+1
| | | | | Change-Id: Iac1f6e80cd4dce60401b92b6ba78293c6655331c Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Extend and improve QML auto testsBernd Weimer2018-02-021-2/+16
| | | | | | | | | | | Exposed a new type to QML auto tests that allows to ignore logging messages. In addition assets of QML tests will be copied to the build folder and instead of running the tests in the source folder, they will be run in the build folder again. Change-Id: Ief9d34aed1f74e28f15bd5435723bb6afee7d531 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Execute QML auto tests within source folderBernd Weimer2018-01-101-2/+2
| | | | | Change-Id: I82098b4b3765015ebbd0104951e1ddf27fc1053e Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Fix the version comparison for enabling the dlt lazy initDominik Holland2017-11-301-0/+24
| | | | | | | | | | | | | | | | | | With Qt version 5.9 no MAJOR_, MINOR_ and PATCH_VERSION variables are generated for the modules anymore. Because of that the lazy initialization of the DLT categories were never enabled, which caused appman to only register the Categories which are used for logging instead of all of them. A generic qmake test function is now used for the version comparison of the VERSION string. In newer Qt version (5.10.0) qmake provides a builtin function Task-number: AUTOSUITE-169 Change-Id: I76b40320167835b10b159ec221a100f3b1276f88 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Move the MouseTouchAdaptor from neptune to the application-managerRobert Griebl2017-11-291-0/+1
| | | | | | | | This way we can (a) re-use the functionality in other system-uis and (b) easily disable it when e.g. testing with Squish. Change-Id: Icbfb3dfac5283eebe1cf4855386e27c6d1a430dc Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Add option to enable support for Qt widgets in System UIJacques GUILLOU2017-11-031-0/+1
| | | | | | | | Support for Qt widgets can be useful for some development tools for example. Change-Id: Ie77e42730f692413485899ed63073fd81f709abe Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Made the external D-Bus interfaces a compile time optionRobert Griebl2017-07-032-0/+21
| | | | | | | | | | | | | | | Running qmake -config disable-external-dbus-interfaces will now compile out the support for all the external interfaces (ApplicationManager, WindowManager, ApplicationInstaller and NotificationManager). This also cleans up the implementation of these singletons, since we are now using a custom "2 step" DBus adaptor to get around the QtDBus limitation that requires the original object to derive from QDBusContext (although this violates every layering rule). In any case, this will not affect the private P2P Bus between the AM and the apps. Change-Id: I53d9c3b6d3a010ed7d65e3a80005bd18a7bb9c23 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Re-enable Android supportRobert Griebl2017-05-291-1/+1
| | | | | | | | This mostly boils down to dealing with bionic vs glibc issues. Also updated the Android build support files to a new copy from QtCreator 4.2.0. Change-Id: Ib0390b7be0e6a3eb7cb5b092233ce00302c6360a Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Add wayland/multi-process support for macOSRobert Griebl2017-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This setup will not run right out of the box, but needs patches to QtWayland (will be upstreamed) and a custom libwayland-{client,server}. * since macOS is not able to tell you the PID of your peer on the other side of an Unix domain socket, we cannot distinguish which application is connecting to the one and only P2P DBus server for the application interfaces. Instead, we are using one server per runtime now, which makes it possible to run apps on macOS (albeit without any security - no PID checking possible) and also simplifies the code a bit for the Linux case. * for the same reason, we need to accept Wayland surfaces with PID 0. This should be possible to fix with a custom libwayland patch later on. (plus, getting those weird pid == 0 surfaces stopped around Qt 5.6, so removing the check doesn't hurt Linux) * $XDG_RUNTIME_DIR defaults to /tmp now (also on Linux), if the variable is not set in the environment. * In order to support --start-session-dbus, we rely on brew's dbus package being installed (or an equivalent dbus-daemon binary in /usr/local/bin). Change-Id: Ieaa8ef2ebc7ce13ae25d63c6258a259c0879e6c8 Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com>
* Get rid of the libdbus compile-time dependencyRobert Griebl2017-05-051-1/+1
| | | | | Change-Id: Ied8662ece1181cd4b30f4574f2b81ec9b03f916e Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Suppress unnecessary qmake outputRobert Griebl2017-03-141-2/+5
| | | | | Change-Id: I2b3b7958e0c0a64ddaf116da2a3aa5e96a456160 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Build fix: make sure to also depend on waylandcompositor-privateRobert Griebl2017-02-271-1/+5
| | | | | | | | Without this, the build may break on Debian when building against the system's Qt, because Debian does not ship the QtWayland private headers. Change-Id: I02fa7babc1e5dd8300e9db6814e94b2766b83875 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Default to Qt's configs for building tests and examplesRobert Griebl2017-02-111-0/+19
| | | | | | | | | | | This also made it necessary to cope with non-existent test data in the auto-test, since the create-test-packages script cannot be run on the Qt CI nodes. Also had to fix a logic bug in the sudo fallback handling. Change-Id: I1785b68be1d009dca4721f398cd7ab52cf83653a Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Color output handling cleanupRobert Griebl2017-02-091-0/+2
| | | | | | | This now also enables color output on Windows, when running within QtCreator. Change-Id: I6911cbc95a9d39af269fa26287c200f57abad0c4 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Fixed some pro filesRobert Griebl2017-02-062-2/+1
| | | | | Change-Id: I148de27e08a2313cd8457c058552c9d7b2acdbd8 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Always disable the qml_debug config optionDominik Holland2017-02-011-1/+1
| | | | | | | | | | Appman is controlling the QmlDebugger itself, so there is no need to compile it in. This prevents that two instances of QmlDebugger are created and prevents that the "QML Debugging enabled" warning is printed for some of appman's tools which don't need qml debugging capabilities. Change-Id: Ia1283880764eb4a40b9e9fdead9d1d3e7b18a417 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* am-qml-testcase: Run all tests in single and multi-process mode by defaultDominik Holland2017-01-201-1/+11
| | | | | | | | | The new MODE option can be used to specify how the qml unit test should be executed, by default it is started in single and multi-process mode if the platform/build allows that. Change-Id: I2a19353099d7194261554c7861fc15780b96481b Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* am-qml-testcase: Start the testrunner with --start-session-dbusDominik Holland2017-01-181-0/+3
| | | | | Change-Id: I8c8226e613f1b8c7128410d900e205624b1f8968 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>