summaryrefslogtreecommitdiffstats
path: root/src/gui/gui.pro
Commit message (Collapse)AuthorAgeFilesLines
* Make sure the metatypes are installed in prefix buildsUlf Hermann2019-11-131-2/+2
| | | | | | | | | | | The JSON collection step has to be target_predeps in order to be executed if the only place its output is referred to is INSTALLS. Furthermore, some CONFIG options clear the INSTALLS variable. Therefore, we need to add the metatypes CONFIG entries after those. Change-Id: I4694ab1d82c13cb4e3886c1722a03255d14b7f29 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Generate metatypes.json for QtCore, QtGui, and QtWidgetsUlf Hermann2019-10-171-1/+1
| | | | | | | | These libraries contain types which are exposed to QML from qtdeclarative. Change-Id: Ie0edaef94fcb40074b6f6b2ea1a1c3a77ed3e9a9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Introduce the Qt graphics abstraction as private QtGui helpersLaszlo Agocs2019-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | Comes with backends for Vulkan, Metal, Direct3D 11.1, and OpenGL (ES). All APIs are private for now. Shader conditioning (i.e. generating a QRhiShader in memory or on disk from some shader source code) is done via the tools and APIs provided by qt-labs/qtshadertools. The OpenGL support follows the cross-platform tradition of requiring ES 2.0 only, while optionally using some (ES) 3.x features. It can operate in core profile contexts as well. Task-number: QTBUG-70287 Change-Id: I246f2e36d562e404012c05db2aa72487108aa7cc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* wasm: add local file access private APIMorten Johan Sørvig2019-02-071-0/+1
| | | | | | | | | | | | | | | | Access to the local file system is restricted by the Web sandbox, and a separate API an implementation is needed to facilitate this for Qt applications. This adds a private asynchronous callback-based C++ API for opening a file dialog and reading file content. The implementation uses a file input html element to show a file dialog, and then the uses the native File and FileReader APIs to read the selected file(s). Change-Id: I4e28baa032d7c3cd63241465f0ae55efd219a05b Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Modernize the "animation" featureLiang Qi2018-10-121-1/+1
| | | | | | Change-Id: Ibc164b3df3cf87db569ef4813de458a9067b7f7d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Support for LTTNG and ETW tracingRafael Roquetto2018-01-281-0/+3
| | | | | | | | | | This commit introduces minimal support for instrumentation within Qt. Currently, only LTTNG/Linux and ETW/Windows are supported. Change-Id: I59b48cf83acf5532a998bb493e6379e9177e14c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.9' into devThiago Macieira2017-08-081-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qwidget.cpp This merge also extends the expected output of the pairdiagnostics teamcity output (added in dev in commit c608ffc56ab37f9a9d5b9c34543126adb89e2b08) after the recent addition of the flowId attribute to the teamcity output (commit 8f036562119dd35ce51dc9230304d893b906bd37 in 5.9). Change-Id: I3868166e5efc45538544fffd14d8aba438f9173c
| * Fix iOS shared buildsJan Murawski2017-08-041-0/+1
| | | | | | | | | | | | | | | | | | Building iOS shared failed with link errors to the CoreGraphics framework when building without harfbuzz-ng. This patch adds the missing dependency. Change-Id: If464417039172c2854e455563153057f0cea2a22 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-071-4/+4
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/linux-icc/qmake.conf mkspecs/macx-icc/qmake.conf mkspecs/win32-icc/qmake.conf src/gui/painting/qgrayraster.c Change-Id: Ib08c45ea3215be05f986ecb3e1f4b37d209aa775
| * CMAKE: Fix EGL link extensionsAndreas Holzammer2017-04-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Targets were always exported as .lib, for all windows compilers which is correct for msvc, but not for mingw. Hence use QMAKE_EXTENSION_STATICLIB to switch between .lib and .a Task-number: QTBUG-59906 Change-Id: I948f5dd96e0fb46d679c474b7beececc379ad436 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Basic Vulkan enablersLaszlo Agocs2017-03-171-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | For Android, Windows and xcb. Verified on Win10 with NVIDIA, Win10 with AMD, Android with Tegra K1, Android aarch64 with Tegra X1, and Linux aarch64 with Tegra X1 (Jetson TX1, L4T). Introduce QPA-based Vulkan library loader, core function resolver, and instance creation support. In addition to creating a new VkInstance, adopting an existing one from an external engine is supported as well. The WSI specifics are hidden in the platform plugins. Vulkan-capable windows use the new surface type VulkanSurface and are associated with a QVulkanInstance. On Windows VULKAN_SDK is picked up automatically so finding vulkan.h needs no additional manual steps once the LunarG SDK is installed. [ChangeLog][QtGui] Added support for rendering to QWindow via the Vulkan graphics API. Task-number: QTBUG-55981 Change-Id: I50fa92d313fa440e0cc73939c6d7510ca317fbc9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QtGui: port the last remaining Q_FOREACH loops and add QT_NO_FOREACHMarc Mutz2017-02-201-1/+1
| | | | | | | | | Port the last two remaining Q_FOREACH users in QtGui to C++11 range-for and mark the library as Q_FOREACH -free, using QT_NO_FOREACH. Change-Id: Ie6c5eea0af4227af6ef3dc0b4da2cf62e09d8b52 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-011-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-271-0/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.h src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileenginefactory.h src/plugins/platforms/ios/qiosintegration.h src/widgets/widgets/qcombobox.cpp tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp Change-Id: Ibaee7cbbba99e7c4b1d8926e55932ffa6030ce45
| | * iOS: refactor usage of photos into optional pluginRichard Moe Gustavsen2016-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from iOS 10, apps that tries to access photos on the device need to specify the reason for this up front by adding the key 'NSPhotoLibraryUsageDescription' into Info.plist. If the key is missing, the app will be rejected from AppStore. This causes problems for the iOS plugin as it stands since parts of it already tries to access photos, e.g to show an image picker dialog if a file dialog is set to open QStandardPaths::PicturesLocation. This means that currently, all apps written with Qt will be rejected from AppStore unless the developer adds this key, whether he tries to access photos or not. To solve this, we choose to split the plugin into two parts, one that contains the core functionality, and one that contains optional support. The latter will need to be enabled explicit by the developer in the pro file, or in this case, indirectly by adding the right key to the Info.plist. This patch refactors the code in the plugin that gives access to photos into a separate optional plugin called 'nsphotolibrarysupport'. Change-Id: Ic4351eb0bbfffdf840fd88cd00bb29a25907798f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | Use qtConfig throughout in qtbaseLars Knoll2016-08-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new qtConfig macro in all pro/pri files. This required adding some feature entries, and adding {private,public}Feature to every referenced already existing entry. Change-Id: I164214dad1154df6ad84e86d99ed14994ef97cf4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | rectify opengl configuration under windowsOswald Buddenhagen2016-07-081-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | angle is an implementation of es2 and thus autodetected if es2 is requested. but this also means that it is actually *not* mutually exclusive with dynamicgl - quite the opposite. express that sensibly in the build system. this implies that we will now get sensible messages from configure if angle is not detected while building with dynamicgl. furthermore, this simplifies the handling of defaults, removes the unnecessary case in checkAvailability() (checkAngleAvailability() is always called directly), fixes the complaint on winrt if gles2 is disabled, and avoids redundant checks for the purpose of obtaining an error message. Change-Id: I3373f0ad7d5484d1bac8dbde3f8ee6fca89ebcb8 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-111-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change partially reverts 1bfc7f68 about QT_HAS_BUILTIN define and undef in src/corelib/tools/qsimd_p.h. This change is also squashed with "Fall back to c++11 standard compiler flag for host builds" which is done by Peter Seiderer. Conflicts: mkspecs/features/default_post.prf src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch src/3rdparty/sqlite/sqlite3.c src/corelib/tools/qsimd_p.h src/gui/kernel/qevent.cpp src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface_p.h src/plugins/bearer/blackberry/blackberry.pro src/plugins/platforms/cocoa/qcocoasystemsettings.mm src/plugins/platformthemes/gtk2/gtk2.pro src/plugins/styles/bb10style/bb10style.pro src/sql/drivers/sqlite2/qsql_sqlite2.cpp tools/configure/configureapp.cpp Task-number: QTBUG-51644 Done-with: Peter Seiderer <ps.report@gmx.net> Change-Id: I6100d6ace31b2e8d41a95f0b5d5ebf8f1fd88b44
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-03-071-2/+1
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Icbce502dcbcb4d4b4d922c42679f44e2cc930bf3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Link to AppKit instead of Cocoa.Jake Petroules2015-09-051-1/+1
|/ | | | | | | | | | | | | Cocoa is basically just AppKit + CoreData. Since we do not use CoreData in Qt, there is no reason to link to it or (transitively) import its headers. This is just a mechanical replacement of -framework Cocoa with -framework AppKit and <Cocoa/Cocoa.h> with <AppKit/AppKit.h> Change-Id: Ibcfc8a03c0ddff27a67fbc87dd7bd58a4b648956 Reviewed-by: Mika Lindqvist <postmaster@raasu.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Make GLX and EGL dynamic dependencies for xcbJørgen Lind2014-12-201-0/+1
| | | | | | | | | | | | [ChangeLog][QPA][Xcb] GLX and EGL code paths are now dynamically resolved, making it possible for one build of a plugin to use both code paths. Default is to use the GLX code path if available. This can be overwritten by specifying QT_XCB_GL_INTEGRATION=xcb_egl as an evnironment variable. Enable qt.xcb.glintegration.debug to get debug log output of what integration is used Change-Id: Ia9fa95fcca3d901b91dadb8c98a695fea0ae3b1e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Pluginize the eglfs hooksLaszlo Agocs2014-12-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the principle of device integrations in QtWayland and soon xcb, a plugin interface is being introduced to gradually replace the statically compiled-in hooks. The interface is same as before for the time being, for compatibility with the existing device-specific hooks. QEglFSHooks is now just a dummy subclass for QEGLDeviceIntegration to support the legacy, compiled-in, device-specific hooks. When -device is not used with configure and so there is no hook active, the new plugin-based approach kicks in. The environment variable QT_QPA_EGLFS_INTEGRATION can be set to indicate the preferred integration name (e.g. eglfs_x11, eglfs_kms). It can also be set to "none", indicating that no plugins should be considered and the default, non-specialized integration is to be used. (this is for devices, like Beagleboard|bone, that do not need any special code to set up EGL) Device makespecs can set EGLFS_DEVICE_INTEGRATION. The value is then used as the default, preferred plugin name when QT_QPA_EGLFS_INTEGRATION is not set. In the future device makespecs are expected to set a plugin name instead of relying on the traditional EGLFS_PLATFORM_HOOKS_*. When neither the QT_QPA_EGLFS_INTEGRATION nor EGLFS_DEVICE_INTEGRATION are set, all plugins will be tried in an unspecified order. The first one that succeeds to load is used. If all fails or there are no plugins, the built-in, non-specialized integration is used. To debug what integration is being used, enable the logging category qt.qpa.egldeviceintegration. There is some built-in logic for desktop/Mesa based systems: Under X, eglfs_x11 is preferred, otherwise eglfs_kms is prioritized. This, assuming sufficient permissions to video and input devices, allows simply launching apps with -platform eglfs. No more editing of eglfs.pri. [ChangeLog][QtGui] Added support for device-specific backend plugins in eglfs. Change-Id: Ia2ddcddac014c25817171dc140cd8cf913784ac6 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* deprecate import_qpa_plugin and qpa_minimal_pluginOswald Buddenhagen2014-04-241-2/+1
| | | | | | | | they have been fully superseded by 4255ba40ab073afcf2a095b135883612859af4c2. Change-Id: If7ac14c8b7d3cf00fb0cb916036b62eb86c9cee0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make cmake registration of qt plugins make use of PLUGIN_EXTENDSOswald Buddenhagen2014-04-091-0/+4
| | | | | | | | | | | | | | | | | | instead of assigning plugins to the first module which claims the whole type, try to assign it to a module which the plugin claims to extend. as we are getting stricter in that go, somebody needs to claim the 'generic', 'platformthemes', and 'platforminputcontexts' plugin types. the natural claimant is QtGui. however, as we don't want to auto-link any of these plugins, make them all claim that they extend a non-existing module. QtGui also claims 'iconengines' plugins. the 'printsupport' plugins are also claimed by the respective module. Change-Id: I7af7c16089f137b8d4a4ed93d1577bd85815c87b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* purge vestiges of opengl es 1 supportOswald Buddenhagen2014-04-041-8/+1
| | | | | | | | amends 0d5170256c1. Change-Id: Ifa178d38f602bb7c66ef13334673ff47e332af5b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Add optimize_full qmake config optionAllan Sandfeld Jensen2014-03-061-1/+1
| | | | | | | | | | | | | | | | | | | This patch adds a new config option to qmake to enable full optimization where it makes sense. This currently is supported on all gcc like compilers by exchanging -O2 for -O3. In qtbase it is used to enable full optimizations on qtcore and qtgui and in a later patch can be used to replace similar existing logic in QtWebKit's WTF and JavaScriptCore modules. This fixes a performance regression from gcc 4.7 to 4.8 in the software renderer. An aliasing error in qregion.cpp which was exposed by more aggresive optimization has been solved as well. Change-Id: Ic2c6c41b79cb3846212b40e7bcc11ff492beb27f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Clean up proxy leftovers in gui/openglLaszlo Agocs2014-03-061-2/+0
| | | | | | Change-Id: I24d10dab121c23b0683fa99bd309cf557c3ddffb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix win32 mkspecsOswald Buddenhagen2014-03-061-1/+1
| | | | | | | | | | | Instead of checking for dynamicgl in QT_CONFIG, which is apparently not possible, revert them and do it in opengl.prf instead. Dynamic GL is Windows-only for the time being so this should be sufficient. Change-Id: If293ea4c9b024df52257086c8b6250602a44724d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Dynamic GL switch on WindowsLaszlo Agocs2014-02-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch introduces a new build configuration on Windows which can be requested by passing -opengl dynamic to configure. Platforms other than Windows (including WinRT) are not affected. The existing Angle and desktop configurations are not affected. These continue to function as before and Angle remains the default. In the future, when all modules have added support for the dynamic path, as described below, the default configuration could be changed to be the dynamic one. This would allow providing a single set of binaries in the official builds instead of the current two. When requesting dynamic GL, Angle is built but QT_OPENGL_ES[_2] are never defined. Instead, the code path that has traditionally been desktop GL only becomes the dynamic path that has to do runtime checks. Qt modules and applications are not linked to opengl32.dll or libegl/glesv2.dll in this case. Instead, QtGui exports all necessary egl/egl/gl functions which will, under the hood, forward all requests to a dynamically loaded EGL/WGL/GL implementation. Porting guide (better said, changes needed to prepare your code to work with dynamic GL builds when the fallback to Angle is utilized): 1. In !QT_OPENGL_ES[_2] code branches use QOpenGLFunctions::isES() to differentiate between desktop and ES where needed. Keep in mind that it is the desktop GL header (plus qopenglext.h) that is included, not the GLES one. QtGui's proxy will handle some differences, for example calling glClearDepth will route to glClearDepthf when needed. The built-in eglGetProcAddress is able to retrieve pointers for standard GLES2 functions too so code resolving OpenGL 2 functions will function in any case. 2. QT_CONFIG will contain "opengl" and "dynamicgl" in dynamic builds, but never "angle" or "opengles2". 3. The preprocessor define QT_OPENGL_DYNAMIC is also available in dynamic builds. The usage of this is strongly discouraged and should not be needed anywhere except for QtGui and the platform plugin. 4. Code in need of the library handle can use QOpenGLFunctions::platformGLHandle(). The decision on which library to load is currently based on a simple test that creates a dummy window/context and tries to resolve an OpenGL 2 function. If this fails, it goes for Angle. This seems to work well on Win7 PCs for example that do not have proper graphics drivers providing OpenGL installed but are D3D9 capable using the default drivers. Setting QT_OPENGL to desktop or angle skips the test and forces usage of the given GL. There are also two new application attributes that could be used for the same purpose. If Angle is requested but the libraries are not present, desktop is tried. If desktop is requested, or if angle is requested but nothing works, the EGL/WGL functions will still be callable but will return 0. This conveniently means that eglInitialize() and such will report a failure. Debug messages can be enabled by setting QT_OPENGLPROXY_DEBUG. This will tell which implementation is chosen. The textures example application is ported to OpenGL 2, the GL 1 code path is removed. [ChangeLog][QtGui] Qt builds on Windows can now be configured for dynamic loading of the OpenGL implementation. This can be requested by passing -opengl dynamic to configure. In this mode no modules will link to opengl32.dll or Angle's libegl/libglesv2. Instead, QtGui will dynamically choose between desktop and Angle during the first GL/EGL/WGL call. This allows deploying applications with a single set of Qt libraries with the ability of transparently falling back to Angle in case the opengl32.dll is not suitable, due to missing graphics drivers for example. Task-number: QTBUG-36483 Change-Id: I716fdebbf60b355b7d9ef57d1e069eef366b4ab9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* CMake: don't require GL when build with -no-openglPeter Kümmel2014-02-011-1/+1
| | | | | | Task-number: QTBUG-36509 Change-Id: I03451527ab91754d87ff2a43985952c7c7641826 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* put ANGLE includes in a QtANGLE subdirOswald Buddenhagen2013-06-101-0/+6
| | | | | | | | | otherwise even non-angle builds with pre-generated headers will get them into their include path, which is Not Good (tm). Change-Id: Ie98354297baf3564ef82b3d4a32e5763e625b8f2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Only expect EGL libraries in the cmake files if Qt is configured to use it.Stephen Kelly2013-05-071-3/+5
| | | | | | Change-Id: Ida382a80dba882bbeb920756adc0c16321efe37e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Enable bundling Qt in Android package in build systemEskil Abrahamsen Blomfeldt2013-05-011-0/+4
| | | | | | | | | | | | | | | | | | | | | For bundling Qt, we need two things: 1. We need to build a regular .jar file out of the Java files, so that they can be built into the app package. Dexing the classes first (i.e. compiling the JVM bytecode to Dalvik bytecode) is required for loading the .jar file at run-time, but cannot be used for building it into the app, so we need two different paths. 2. We need to specify which extra files have to be bundled for each module (this is primarily for plugins and imports). This is because there is no static dependency on these files, so it cannot be detected during deployment. Task-number: QTBUG-30751 Change-Id: I733603ee5d1c64bd7c5b9357eb5d993b9d0298f7 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add IMPORTED targets for the GL libraries used by Qt.Stephen Kelly2013-04-221-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | There may be multiple libraries specified in the mkspec, such as EGL and Mali, as used in devices/linux-sh4-stmicro-ST7108-g++, so create an imported target for each one. Also populate the Qt5Gui_EGL_LIBS variable with all created imported targets. Similar variables are created for the used OPENGL implementation. In the case of using the packaged ANGLE library, we already know the exact locations of the binaries. This makes it possible for third parties to use the same GL implementation as used by the Qt build itself. As these are used only privately by QtGui, they are also added to the DEPENDENT_LIBRARIES of that target so that they are found for rpath-link usage. On some platforms (eg Raspberry Pi), multiple include directories must be set to include egl.h, as the headers it includes for vcos are a bit scattered. Task-number: QTBUG-29132 Change-Id: I1126da3d37cd51c88d3670347c8b6405b285efb5 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add the GL headers to cmake variables.Stephen Kelly2013-04-191-0/+16
| | | | | | | | | | | | | | If building angle ourselves, that's just the basic Qt include dir, and if using an external gl, look for it in the places specified in the mkspec. As the qopengl.h header includes the gl header, this is a 'public include dependency' of QtGui, so it is added to the relevant variable and the INTERFACE_INCLUDE_DIRECTORIES of Qt5::Gui. Change-Id: I8c2c1782e0a2600032771175444b087da28433fc Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge branch 'dev' into stableOswald Buddenhagen2013-03-201-3/+1
|\ | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| * iOS: fix build issue, dont link against cocoaRichard Moe Gustavsen2013-02-261-3/+1
| | | | | | | | | | | | | | | | | | Make sure the libraries dont depend on Cocoa. This will be picked up by libtool, and make all apps and examples link against cocoa too (which will ofcourse fail) Change-Id: I5654bb08c4ed376fc7ee74da422d903270a8af38 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Add dynlist file for QtGuiStefan Gehn2013-03-181-0/+1
|/ | | | | | | | | | Similar to QtWidgets ensure that QGuiApplication::notify() is always called via its exported symbols. This is needed to allow overloading it via LD_PRELOAD or other means. Change-Id: I84d0176b984c5fdf9b199127e08fcfa93dbc853f Reviewed-by: Harri Porten <porten@froglogic.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Generalize the check for gui in static plugin import generationMiikka Heikkinen2012-12-201-1/+3
| | | | | | | | | Generalize the check for gui by checking for needs_qpa_plugin CONFIG value instead, which gui adds to MODULE_CONFIG. Task-number: QTBUG-28215 Change-Id: I5834a3f81e5c3868ee1a3fa405ebc6410db1f900 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix: Do not require GL library if configured with -no-openglaavit2012-12-061-1/+1
| | | | | | | | qt_lib_gui.pri would add an unneeded -lGL, causing the build to fail on systems with no GL libraries. Change-Id: I3a49418e1393642e9d97999b79741cc2144a99af Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove explicit load(qt_build_config)s from the librariesOswald Buddenhagen2012-10-191-2/+0
| | | | | | | .qmake.conf (and previously .qmake.cache) already does that for us. Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Modularize documenation buildTor Arne Vestbø2012-10-101-3/+2
| | | | | | | | | | qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global includes, instead of using relative paths. Qt modules will automatically get a doc target that builds and installs into the right place (including supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module). Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Set CWD when launched from Finder.Morten Johan Sorvig2012-10-021-0/+4
| | | | | | | | | | | Like Qt 4. Use the presence of the "-psn_" command- line argument to detect Finder launches. Link QtGui against the Cocoa framework due to CFBundle usage. Change-Id: I947ae53462072fbdb23afcc0a13ce6b26d02c191 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* rename qt_module_config.prf => qt_module.prfOswald Buddenhagen2012-08-081-1/+1
| | | | | | | this is more logical, following the qt_plugin and qt_tool scheme. Change-Id: Ib3b2abec6728cdab260e15128b1cd78e8e6f5d6a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Add a .prf file for SIMD qmake variables.Michael Goddard2012-08-011-140/+2
| | | | | | | | | | | | So you can get AVX/NEON etc source compiled by assigning to the corresponding variable (e.g. AVX_SOURCES). This was previously used in just the gui module, but other external modules might like it too. Change-Id: I51aa64760c469c7dc4c71e6f089c2ddef4f509c5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove platform specific DirectWrite font engine from QtGuiEskil Abrahamsen Blomfeldt2012-07-031-4/+0
| | | | | | | | This has moved into the platform plugin, but it was still lying around in QtGui and hindering it from compiling. Change-Id: I47fa730453cbd8aa230ccc4651afd2e774023db6 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Don't lower the code generation level options for the compilerThiago Macieira2012-07-011-7/+9
| | | | | | | | | | | | | | | | If the default settings already include the necessary flags, do not override the compiler flags, possibly lowering support. This allows the user to specify a higher setting for a Qt build, such as what MeeGo did (it enabled SSSE3 support in all builds). Additionally, this prevents us from passing -msse2 or -arch:SSE2 options to x86-64 builds, as SSE2 is a mandatory part of that architecture. This silences a warning from MSVC that the option is unknown in 64-bit builds. Change-Id: I6e2969b672bcac87168c245b8be3309e8cc49224 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Move QStandardItem/QStandardItemModel to QtGuiGiuseppe D'Angelo2012-06-291-0/+1
| | | | | | | | | | | The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's little sense to still have these classes in QtWidgets. This also copies and pastes a version of QWidgetItemData as QStandardItemData inside qstandarditemmodel_p.h. Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Change *-clang mkspec globs to *-clang*Bradley T. Hughes2012-06-201-1/+1
| | | | | | | | Like with the numerous g++ mkspecs, we have mkspecs with suffixes, and these mkspecs should still match the clang globs. Change-Id: I9296408b5192bc72cc468d229a57923e3f5ab6f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix misnomer: qt_module.prf => qt_build_config.prfOswald Buddenhagen2012-06-191-1/+1
| | | | | | qt_module suggests to be congruent to qt_plugin. Change-Id: I629530bcbe2ba6c0adbdc11a275119c8aff0c953