summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate old aliases for two countries and several languagesEdward Welbourne2020-10-287-42/+40
| | | | | | | | | | [ChangeLog][QtCore][QLocale] Deprecated several Language and Country aliases, ready for removal in Qt 6.0, in favor of their newer names. Task-number: QTBUG-84669 Pick-to: 5.15 5.15.2 Change-Id: Iebaa0a5a77bfa12f7014de53fab4a25b5f1cc92c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Deprecate QLocale::Language entries that no locale data relates toEdward Welbourne2020-10-283-96/+144
| | | | | | | | | | | | | | | | | These are languages for which CLDR does not even recognize the claimed language code (three-letter codes except for bh = Bihari, which might be an old name for bho = Bhojpuri, which CLDR does give, but provides no locale data using it). [ChangeLog][QtCore][QLocale::Language] Many obsolete language names are now deprecated in preparation for removal at Qt 6.0. No data has been available for any locale using these languages since CLDR v29 (at least; Qt now uses v37). Task-number: QTBUG-84669 Pick-to: 5.15 5.15.2 Change-Id: I2bf2d49211ade7cc511277f35fb1a247e7048b31 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QMacStyle - more pixel refinementsTimur Pocheptsov2020-10-281-0/+18
| | | | | | | | | | | | There is 1 pixel of a rounded corner visible both on NSButton and NSPopupButton in a tab widget (all orientations) - adjust the rectangle for this. Pick-to: 5.15 Pick-to: 5.12 Task-number: QTBUG-86513 Change-Id: I5e203adc583d2fba6323b18328ccbc8b0c0666ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove QT_NO_FLOAT16_OPERATORS macroVolker Hilsheimer2020-10-282-18/+2
| | | | | | | | | It's documented to be a workaround for VC++2017 and earlier, which are all not supported in Qt 6 anymore. VC++2019 does not show the problem. Change-Id: Ie66b303a75bb5791675fc9e62bf4a84510068d6d Reviewed-by: Keith Kyzivat <keith.kyzivat@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* cmake: Avoid -NOTFOUND suffix in module pri configTor Arne Vestbø2020-10-281-2/+4
| | | | | Change-Id: I1407a661c482d918dd143f291ee648bc7b18feef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Add missing aliases for entrypoint implementationTor Arne Vestbø2020-10-281-0/+2
| | | | | Change-Id: I2fda3a84ca2d12f74b68a8bbe6c6ae9cd04b5aea Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Don't limit qt_internal_add_cmake_library to testsTor Arne Vestbø2020-10-281-1/+1
| | | | | Change-Id: I2dbe8075de6704a7a6557b877dc279a4b4cddd54 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Don't add module header for interface libs without headersTor Arne Vestbø2020-10-281-0/+5
| | | | | Change-Id: Ifba869586a65f28d5ff47bb2c01ce638110f493f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* webOS: Support mapping evdev keyboard and touchscreen to specific windowElvis Lee2020-10-278-31/+104
| | | | | | | | | | | | | | | | | | | | | | First we refactor QTouchOutputMapping into a QOutputMapping base class and a QDefaultOutputMapping subclass, because it will be used to map more kinds of devices, not only touchscreens. On WebOS, the plan is to have a custom subclass that overrides an additional windowForDeviceNode() virtual function, so that events from specific devices can be sent to specific windows. But in the future, Qt may have a more generic mechanism for mapping devices to screens, and of course windows are displayed on screens; so this direct device->window mapping is likely to be temporary. In the QT_QPA_EGLFS_KMS_CONFIG JSON configuration, symlinked device nodes are now supported. Task-number: QTBUG-85268 Change-Id: Id1f0bb59f4a439abaec6bd35016c95de1cbdb26a Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QPushButton: if mouse tracking is off, ignore state only updated when trackingVolker Hilsheimer2020-10-271-1/+1
| | | | | | | | | | | | | | Amends 3310e13a17d2249a86fa533e350744c5593be54f. The explicit hovering state is only updated when handling MouseMove events, and those are only delivered when mouseTracking is set. Without mouseTracking set, the state was always false, and QPushButton didn't set the MouseOver style flag. Ignore the new state if mouse tracking is not set. Task-number: QTBUG-87706 Change-Id: I2718fb23c206fd8dfd427edc987ff193ba1be8a0 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Skip flakey dialogs testcase on all platforms except windowsVolker Hilsheimer2020-10-271-3/+2
| | | | | | | | Testing the mouseMoveCount before XFAIL'ing before then testing the mouseRelaseCount was anyway wrong. Change-Id: I666f143ff15088562fc63f833f5785f870de6f26 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Fix painting examples to build as standalone projectsAlexandru Croitor2020-10-277-51/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The examples use an intermediate object library to avoid duplicate file compilation. The examples worked when built as part of Qt because the shared directory was always added, and Qt::OpenGL is available implicitly. Change each project to add_subdirectory(../shared) if the object library is not available, thus making the examples build as standalone projects. Call find_package inside the shared project, to ensure the Qt packages are found. Create an alias called 'painting_shared::painting_shared' and link against that to ensure that any failure is caught at configure time rather than build time. Adapt the pathstroke example to use the object library. Comment out the code for the OpenGL scopes, because it's handled by the object library. Make sure the OpenGL dependency is public. Make sure to run moc and compile the OpenGL specific files as well. Task-number: QTBUG-87444 Change-Id: Ib0ecb68948581c5267ca04f19d8043fa44ff3d54 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Export QT_QPA_DEFAULT_PLATFORM in QtBuildInternalsExtraAlexandru Croitor2020-10-272-0/+13
| | | | | | | | | | | | The value is useful for QPA plugins built in repos other than qtbase, to decide if it should be a default plugin or not. Currently useful for qtwayland. Also export a qmake value assignment when doing static builds, just like src/gui/configure.pri does. Change-Id: I1253f1a7e178b24b16e2615ba20d1e92b0b87b1a Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Remove left over friend declarationAllan Sandfeld Jensen2020-10-271-2/+0
| | | | | | | Was not removed when it was inlined above it. Change-Id: Ie81bd9273108920031b235bdf1f13439711e5fec Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QVersionNumber and QArrayDataPointer comparisons hiddenAllan Sandfeld Jensen2020-10-273-42/+35
| | | | | Change-Id: I8de0407843103b49877621534c14046e3a7d1b2f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Revert "QObject: simplify part of connection logic"Fabian Kosmale2020-10-272-3/+36
| | | | | | | | | | | | | | | This reverts commit 1918c689d78b0f6a718343e7ebceb387acc32a97. The template gets always instantiated in QObjectPrivate::connect, even if the connection types is not Qt::(Blocking)QueuedConnection. For non-queued connections we however support using incomplete types in connect. The only way to fix this would be to make the connection type a template parameter of QObjectPrivate::connect (or at lesat pass some compile time constant indicating "blocking"-ness) along, so that we can use if constexpr instead of if. As all involved classes are private, we can postpone investigating this solution to 6.1 Change-Id: Ieffaf015f8e60ca6ac6f85eb9e2756e480060b4f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix tst_QDeadlineTimer::stdchrono() flaky testJarek Kobus2020-10-272-53/+34
| | | | | | | | | | | | | | | | This patch reverts the last attempt to fix it: 4a1de178c9cc891560f38d64d89074799b0fa0e1. In addition, instead of using imprecise QTest::qSleep() we trigger a single shot PreciseTimer twice and gather the measurements in lambdas. We wait for lambdas to be executed - we give it twice as much time as is in theory needed. Afterwards we verify all the data collected in lambdas. Fixes: QTBUG-82825 Change-Id: Ib691f5f23a92fb8b41a24f7b603981d9c9450ddc Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix copy and past error, add minor doc updateKarsten Heimrich2020-10-271-4/+6
| | | | | | Change-Id: I50d58086bf20d96993ab7c5e4790f07bbfdb8089 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Doc: Add notes on how to use View classes in Qt6Karsten Heimrich2020-10-273-6/+136
| | | | | | | Task-number: QTBUG-87168 Change-Id: I631937ebaf7cfa3ed54c6c8a3641693fda910b36 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Add doc target for qmakePaul Wicking2020-10-271-0/+7
| | | | | | | | | | | qmake currently doesn't have a doc target in CMake. In qmake builds, the doc target is in qtbase/ (not in qtbase/qmake). This patch mimics the mechanic used in QDoc, and adds this as a special case (as the project file doesn't contain the doc target). Fixes: QTBUG-87868 Change-Id: Ib1ca249465c5df2f22ba73084c680781e595c30a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Do not overrun the list end in qt_remove_argsUlf Hermann2020-10-271-2/+4
| | | | | | | | Otherwise we get error messages from CMake. Change-Id: I374b87e38550062b841b7eacf5fbb6bb5ccbdbde Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Add macro to exclude examples from CreatorPaul Wicking2020-10-271-0/+3
| | | | | | Done-with: Topi Reinö <topi.reinio@qt.io> Change-Id: I069214e3139c8b9993b5b8f86e4b5cda1dcc2bfd Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Compile fix on WindowsJarek Kobus2020-10-271-2/+2
| | | | | | Task-number: QTBUG-87719 Change-Id: I9dd12b4579b40ec9c91a5751e12d371ed6ff5ac4 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Make QElapsedTimer comparison operators hidden friendsVolker Hilsheimer2020-10-273-20/+20
| | | | | | | | | Reduce ADL noise. Clean up documentation and parameter naming a bit, while at it. Change-Id: Ie9eb2a63b8e87a9ffc019b8fff5bd1c6bafaaf43 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: allow using ANDORID_NDK_ROOT for user projectsAssam Boudjelthia2020-10-272-2/+18
| | | | | | | | Allow CMake for Android to use ANDROID_NDK_ROOT to deduce the path for QT_CHAINLOAD_TOOLCHAIN_FILE instead of the user providing it manually. Change-Id: Ida728011d5ca8d5a723d341ea77b173e8f105f8c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate examples to set the WIN32_EXECUTABLE propertyAlexandru Croitor2020-10-27266-0/+1078
| | | | | | | | | As well as the MACOSX_BUNDLE properties as necessary. Task-number: QTBUG-87664 Task-number: QTBUG-86827 Change-Id: I7677449a26d51fa853bd67bab6b3b61afbd2b12f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: pro2cmake: Handle CONFIG+=console app_bundle in examplesAlexandru Croitor2020-10-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that qt_add_executable doesn't set the WIN32_EXECUTABLE and MACOSX_BUNDLE properties anymore, pro2cmake needs to look at the qmake example projects and generate appropriate set_target_properties calls. The relevant CONFIG entries to look at are windows, console, app_bundle and cmdline. CONFIG += windows implies 'subsystem windows' on Windows, which maps to WIN32_EXECUTABLE == TRUE. CONFIG += console implies 'subsystem console' on Windows, which maps to WIN32_EXECUTABLE == FALSE. Aka the opposite of CONFIG += windows. Whichever is the last one set, cancels out the other one. CONFIG += app_bundle implies a macOS bundle executable, which maps to MACOSX_BUNDLE == TRUE. CONFIG += cmdline is the same as CONFIG += console and CONFIG -= app_bundle, aka WIN32_EXECUTABLE and MACOSX_BUNDLE set to false. In qmake, if no CONFIG is specified in an example project, the default is CONFIG += windows app_bundle, aka WIN32_EXECUTABLE and MACOSX_BUNDLE set to true. The script uses a heuristic to try and not write the properties for every single subscope, except for values different from the default. This is not strictly correct, but it covers most use cases, and keeps the generated projects a bit cleaner. Task-number: QTBUG-87664 Task-number: QTBUG-86827 Change-Id: If05606ec3205e0fe7c1803c07e114d9fd9c3e4f7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QLayout docs: explain better what the QWidget ctor arg doesAhmad Samir2020-10-274-23/+53
| | | | | | | | | | Make it clear in the docs that an alternative to calling QWidget::setLayout() is to pass the parent widget to the Q*BoxLayout constructor. This basically just copies the relevant bits from the the docs of QWidget and Q*Layout. Change-Id: Id196dcdf9a876d9141aa145f23a83c45f8cda5f8 Pick-to: 5.15 5.12 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* CMake: Make qt_add_executable more minimalisticAlexandru Croitor2020-10-271-8/+1
| | | | | | | | | | | | | | | | | | | | As per the public API review, we want qt_add_executable to be a minimal shim around CMake's add_executable with as little Qt specific behavior as it makes sense. This means: - not setting the WIN32 and MACOSX_BUNDLE - not linking against Gui, only Core - not generating a windows RC file Users should handle those particularities themselves, ensuring that qt_add_executable can be used by a bigger audience. Fixes: QTBUG-87664 Task-number: QTBUG-86827 Change-Id: Ib424dd95266352eb035a344ca03b6b81e47bd9e8 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Use versionfull functions within our public APIAlexandru Croitor2020-10-271-2/+2
| | | | | | | | | This ensures that the public functions still work even if QT_NO_CREATE_VERSIONLESS_FUNCTIONS is true. Task-number: QTBUG-86827 Change-Id: I5654eb17ffe47a1b8e9d397e0477f5b82a762ae1 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* toolchain.prf: Use vswhere to obtain VS installation pathOliver Wolff2020-10-271-3/+11
| | | | | | | | | | | | Beginning with Visual Studio 2017, vswhere should be used to discover Visual Studio installations. Installations of 2019 and up are not even registered inside the registry anymore, so vswhere is the only way to obtain information about these. Pick-to: 5.15 Task-number: QTVSADDINBUG-819 Change-Id: Ibd8b2c4d38c7925857887f39e750e87a33f08bf9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Expunge WA_GroupLeaderShawn Rutledge2020-10-276-62/+6
| | | | | | | | | It's been deprecated since Qt 4.1. Task-number: QTBUG-85816 Change-Id: Iafc6340716556f54fc5472c60035bb57461b842f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QAbstractItemModelTester: don't rely on hasChildren()David Faure2020-10-272-6/+7
| | | | | | | | | | | | | | | | | | | Dynamic models which use fetchMore to asynchronously fill subdirs (like KDirModel) return true in hasChildren() for dirs that are expected to have children (so that the "+" shows in the treeview) but do not actually have children readily available. They will be inserted later on once the async listing job is done (as a result of fetchMore triggering that job). So QAbstractItemModelTester should use rowCount instead, to find out if there are children present. This detected a bug in QConcatenateTablesProxyModel: it returned a non-zero rowCount for its items, while it's flat. Change-Id: Idcdc86159f1fc79ed5297075dfcf30c09896287a Pick-to: 5.15 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QRect(F) and QMargins comparison operators hidden friendsVolker Hilsheimer2020-10-264-55/+34
| | | | | | | | | | | | Hide them from ADL to reduce noise. QRect operators were already implemented as hidden friends, but a left-over declaration un-hid them again. Use the opportunity to simplify QMargins::operator!= by just inverting operator==. No need to spell things out, the compiler can do that for us. Change-Id: I55722223a2267cbeba5726dc912b48d6e017e580 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* cmake: Ensure Mingw builds pick up and use the WinMain entry pointTor Arne Vestbø2020-10-261-21/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cmake code path didn't export QT_NEEDS_QMAIN as a public define to be inherited by consumers. As a result, the users's main() would be defined as normal (instead of being named qMain). This in turn would lead mingw to pick main() as the entrypoint during link time. We want to go through our WinMain entrypoint (for now), even if MingGW today has mechanisms for calling the user's main() directly, as our WinMain uses GetCommandLineW() and as a result prevents the arguments to main() from being wildcard expanded. and we want to keep parity between qmake and CMake in how this behaves, even if we end up changing it in the future. We follow what qmake does, and expose QT_NEEDS_QMAIN to clients. With the user's main being then named qMain, mingw will look for our WinMain. This in turn leads to the problem of static link ordering, where adding -lmingw32 as a dependency of the static library target results in it ending up _after_ the static library during link time, and the static linker ends up discarding the entry point library. To solve this, we split the entry point module into two targets, one for consumers, and one internal that is the actual static library. By adding the -lmingw32 dependency to the former target, we ensure it's added before the static library during linking. Change-Id: I342c979f56669d5a5a5c237f476556c4e2baf432 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Allow target to specify initial module internal configTor Arne Vestbø2020-10-261-1/+3
| | | | | Change-Id: I7312fa19aad84b020015b304b1cd2cd5acc83b81 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make remaining String binary comparisons hidden friendsAllan Sandfeld Jensen2020-10-263-68/+85
| | | | | | | | | Also forced the introduction of explicit comparisons with char16_t* and std::nullptr_t. Change-Id: I8e32c14a1d3aeec234ee070b9fefc6af06db0fda Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Provide a qt-internal-configure-tests scriptAlexandru Croitor2020-10-264-4/+39
| | | | | | | | | | | | | | | | | | This is meant to be called by our CI instructions to build standalone tests of a Qt repository. Currently it just calls qt-cmake with -DQT_BUILD_STANDALONE_TESTS=ON, but it might contain more things in the future. The script also simplifies configuring standalone tests locally, due to not having to remember the name of the magical variable. Change our CI instructions to use the new script. Change-Id: I6bc02b4e94adc9d0d05fecb0fe70a561043271f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Add constructor benchmarks for QLocale, to test likely sub-tag matchingEdward Welbourne2020-10-261-0/+317
| | | | | | Change-Id: Ib4c1d0ea031a581020c1f050fa4096d5196cc752 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Update CLDR to v37, adding Nigerian Pidgin as a new languageEdward Welbourne2020-10-268-4076/+4389
| | | | | | | | | | | | | | | | Routine update by running scripts, ignoring clang-format's extensive grumbles. Added notes to util/locale_database/'s README, on the need for that, and enumdata.py, on when to add entries. As usual, several new locales are also added, for existing languages, territories and scripts. [ChangeLog][QtCore][QLocale] Updated to new version of CLDR (the Unicode Consortium's Common Locale Data Repository) v37. Fixes: QTBUG-84669 Pick-to: 5.15 Change-Id: Ib76848bf4bd1219180faf46820077e8d8049a4e3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Store std::exception_ptr in QUnhandledExceptionSona Kurazyan2020-10-267-21/+165
| | | | | | | | | | | | | | | | For historical reasons Qt Concurrent reports QUnhandledException in case if an exception that is not derived from QException is thrown from a worker thread. Changing this behavior may not be a good idea, since the existing user code may rely on it. Changed QUnhandledException to wrap the std::exception_ptr to the actual exception, so that the users can obtain the information about the thrown exception if needed. [ChangeLog][QtCore][QUnhandledException] Improved QUnhandledException to store the std::exception_ptr to the actual exception thrown from a QtCocnurrent worker thread. Change-Id: I30e7c1d3e01aff6e1ed9938c421da0a888f12066 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QList: also default count()'s template parameterGiuseppe D'Angelo2020-10-262-2/+2
| | | | | | | | Also fix the docs. Change-Id: If08116cb8657d00d610de9451be0ba73ce19dcd1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make Ubuntu with its non-standard security level happyTimur Pocheptsov2020-10-262-88/+84
| | | | | | | | | | | Ubuntu changed the default level from 1 to 2 and not accepting our RSA 1024 anymore. While we are not testing the TLS library's strength, we re-generate a ceritficiate to shut the thing (the botched, 'fixed' OpenSSL) up for good. Task-number: QTBUG-86187 Change-Id: I6151ce5210972ae938e52731157742910363afbe Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Make QString/QLatin1String comparisons hidden friendsAllan Sandfeld Jensen2020-10-262-223/+182
| | | | | | | Leaving most member comparisons untouched though. Change-Id: I8267f85927ec8315d511ac38757bc8d8aaaa5672 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtConcurrent: Reuse ArgResolver from qfuture_impl.hJarek Kobus2020-10-262-100/+50
| | | | | | Task-number: QTBUG-83331 Change-Id: I572f68f6d3be4a50970d8d77d070f175be3ec785 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Replace see-alsos in qfloat16 documentation with \overloadVolker Hilsheimer2020-10-262-23/+19
| | | | | | | | | | | Explicitly specify the float-overload, otherwise it's just ends up referring to itself, and won't generate a link. Also document qFpClassify(qfloat16) overload. The internal implementation was documented, but the public overload not. Change-Id: Ifdc364597a0e7b4d943f0ec6d149977a15c805ef Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* CMake: Fix target dependency cycle regarding qpa plugins in qtwaylandAlexandru Croitor2020-10-261-4/+16
| | | | | | | | | | | | | | | | | | | | | | | With the introduction of the new 'default_qpa_plugins' custom target, a target dependency cycle occurred in qtwayland: qtwaylandscanner -> default_qpa_plugins -> a wayland qpa plugin -> WaylandClient -> qtwaylandscanner The issue is twofold: - default_qpa_plugins accidentally depended on non-qpa plugins. - All qpa plugins were enabled by default, including the wayland ones. Fix the default_qpa_plugins target not to depend on regular non-qpa plugins. Also fix qpa plugins not to be enabled by default, but instead only choose one qpa plugin to be the default (via evaluating the DEFAULT_IF) condition. Amends df9c7456d11dfcf74c7399ba0981a3ba3d3f5117 Change-Id: I22cd2c72f6b75be54263fd21097258bd179e3616 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Don't use mkspec set by sourcing b2qt environment scriptAlexandru Croitor2020-10-261-1/+2
| | | | | | | | | | | | qmake sees the QMAKESPEC variable and uses it when building tests, instead of using the target mkspec written in the target_qt.conf file by the build system. Unset the environment variable to force usage of the mkspec specified when confugring Qt. Task-number: QTBUG-86053 Change-Id: I24ceddd1436393b496665e439dd1441ecbd36df7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Fix handling of rpaths for tests with CMAKE_STAGING_PREFIXAlexandru Croitor2020-10-261-0/+12
| | | | | | Task-number: QTBUG-86053 Change-Id: I2f368d9dc2d871b67bd6261aadd8ef4c1dd1ae54 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix automatic sysrootification detection for qmakeAlexandru Croitor2020-10-261-10/+16
| | | | | | | | | | | | | | | | | | | | | The way we detected whether SysrootifyPrefix needs to be set was incorrect. We checked if extprefix == prefix => SysrootifyPrefix should be true. But that was previously always the case for a non-prefix build, which means it was not possible to build apps (due to qmake expecting to find include dirs in the sysroot, despite the non-prefix Qt not being installed anywhere into the sysroot). Instead we should do what qmake does. Only set SysrootifyPrefix to true if extprefix was not provided and a sysroot is available. To make it work for iOS and Android, the sysroot detection code had to be moved earlier than the SysrootifyPrefix detection. Task-number: QTBUG-86053 Change-Id: Idcc1260a675fb2ef9ae27fc9dc42a68b30f763b8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>