summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of _nolink targets for the QtNetwork moduleAlexandru Croitor2019-11-083-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | When a _nolink target is exported, instead of getting the original namespace prefix, it gets the Qt6 prefix (OpenSSL::OpenSSL_nolink -> Qt6::OpenSSL_nolink). There is some special case code in Network autotests which tries to access the former target name, which doesn't exist when building standalone tests. Make sure to create a Qt6:: library alias for _nolink targets during a build (so before the library is exported), and change the Network autotests project to use this Qt6:: namespaced library, which will ensure it is found both in a standalone tests build and in a regular Qt build. Also make sure to actually call find_package to find the OpenSSL library when building standalone tests, otherwise configuration will fail. Change-Id: I3da5b958e72e745a50380f8ab1644459a7c6b005 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix interface library issues on AndroidAlexandru Croitor2019-11-082-1/+5
| | | | | | | | | | | Don't call qt_android_dependencies for interface libraries. Also make sure not to set properties which don't start with INTERFACE_ prefix. Change-Id: I0afdffd34c9aebe0d7ac4731b57dd4d505f84570 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* Don't add linker scripts to interface librariesAlexandru Croitor2019-11-081-4/+6
| | | | | | | | | It only makes sense for non-interface libraries. Change-Id: I80ac942ed546a6ac866e827aa2026e4e6ac897b2 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* Don't query MODULE_PLUGIN_TYPES property on interface librariesAlexandru Croitor2019-11-081-3/+7
| | | | | | | | | | | | | The reason is that interface libraries have to have properties prefixed with INTERFACE_ and more importantly we don't set the property for interface libraries at the moment. Amends d1542e8a73f535011d42970cc5b1b28a414c14c9. Change-Id: I86bf99995278b9086fa0e3815e10d5d54d9ea4dc Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* Fix static linking when using bearer pluginsAlexandru Croitor2019-11-082-2/+0
| | | | | | | | | | | | | | Now that 5f160a3699d80d1736f691ad9ef774eb6aa28079 is merged to wip/cmake, we should be able to remove the previous workaround of not linking in the bearer plugins. Reverts 78b89547ad00153a8e02553a2e87d45415bd2314. Fixes: QTBUG-79211 Change-Id: Iaa6633bd74d51ceeed9fa1ffb536445ef817764b Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add condition maps for special cases in tests/manualLeander Beernaert2019-11-081-0/+3
| | | | | Change-Id: I426766c68f6f118d0706455689d968534e406d3d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add generic lessThan|greaterThan|equal condition map to pro2cmake.pyLeander Beernaert2019-11-081-0/+18
| | | | | Change-Id: Ib611aa9a808a05b38a83bd3fd7d95081bdf6e256 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix Android x86 buildsLeander Beernaert2019-11-084-3/+12
| | | | | | | | | | | | Replace condition x86 to i386 to match other platforms. Regenerate src/gui/CMakeLists.txt Disable SSE4 on android x86 to match qmake. Change-Id: Ic0d330206f2d70a79d72553aa3ff0f91ff58119c Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix usage of BUILD_SHARED_LIBS in configure.cmakeJoerg Bornemann2019-11-071-10/+10
| | | | | | | | | | | Feature conditions that used BUILD_SHARED_LIBS evaluated to false, e.g. FEATURE_framework. The options must be declared before the configuration files are included. Change-Id: I1ccda8234b334371d22e19f7f6d4fba3a1e7b857 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Convert remaining tests/benchmarksLeander Beernaert2019-11-04142-24/+2515
| | | | | | | Change-Id: Ie7d49d4dc5bf6b2345b54f6bdfffcd974123f729 Reviewed-by: Qt CMake Build Bot Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add support for benchmark conversionLeander Beernaert2019-11-044-9/+69
| | | | | | | | | | | | | Convert benchmark executables to add_qt_benchmark(). Currently add_qt_benchmark just calls add_qt_executable() and ensures that it they build under CMAKE_CURRENT_BUILD_DIR and do not install. Add QT_BUILD_BENCHMARKS option to enable/disable building of benchmarks. Change-Id: Id0bc676698d21d50048d97d9abef51d92ccb6638 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Convert remaining gui utils testsLeander Beernaert2019-11-0412-15/+174
| | | | | | | | Fixes:QTBUG-78229 Change-Id: I3bff1b562e1c146f291e5692c90d2c38f162d395 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: add tests/auto/gui/textFrederik Gladhorn2019-11-0130-1/+684
| | | | | | | Fixes: QTBUG-78228 Change-Id: I3d4666a553e94de47e01d64551b8fe672994b137 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: fix tests/auto/gui/kernel/qguieventloopFrederik Gladhorn2019-11-011-0/+3
| | | | | | | | | | | | | | The include does not join the required libraries. When building the tests in a separate build directory this works for some reason (that's why the CI doesn't catch it). Building everything top level breaks though. Considering this happens in maybe two places, I'm not sure it's worth the effort of fixing the porting scripts. Change-Id: I104ab9717257cbe8dfd5112dffd0d0b002cdb09e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* Prevent infinite recursionFrederik Gladhorn2019-11-011-0/+3
| | | | | | | | | In qtvirtualkeyboard/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/lipicommon.pri we have TARGET = $$TARGET$$qtPlatformTargetSuffix which keeps on recursing. Change-Id: Ia0e020c7258cd87bba9b9681ed7b4568e8f0c9c2 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: re-generate auto/gui/kernel/qguieventloopFrederik Gladhorn2019-11-011-7/+6
| | | | | | | | | | | The target naming has been fixed, it used to be taken from the include, but now that we added the real tst_qeventloop we have a name clash. All that's needed to fix the situation is regeneration of this cmake list. Change-Id: Id336906f30494dfa92cf5e2812f8b1a8771a992f Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Fix setting QT_DISABLE_DEPRECATED_BEFOREFrederik Gladhorn2019-10-311-3/+4
| | | | | | | | The last set would override the variable instead of appending to it, thus QT_DISABLE_DEPRECATED_BEFORE was never set. Change-Id: I173b91704a855fcda1f2b86172d318e3953466db Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: add gui/kernel testsFrederik Gladhorn2019-10-3135-44/+627
| | | | | | | Fixes: QTBUG-78224 Change-Id: I9e6294b5035b066dead0f5ff91f81e472bc56d62 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: add widgets/kernel testsFrederik Gladhorn2019-10-3122-35/+330
| | | | | | | | Fixes: QTBUG-78230 Change-Id: Ia59f531f92e1f8499a8e814ff48c36f65984ff2a Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* Fix formatting to conform to black rulesSimon Hausmann2019-10-292-24/+14
| | | | | | | | Ran make format. Change-Id: Ib4fc021c30834a69a9a5df653435dd92dc6a9c05 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Convert tests/auto/otherLeander Beernaert2019-10-2827-18/+605
| | | | | | | Change-Id: I79ba4f6bbbbede8ddab278dd987d9ad98277a229 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* Convert qvulkan testLeander Beernaert2019-10-282-1/+16
| | | | | | Change-Id: I395fa1c08bb67d65604962883dce3b390c604b9c Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Port qopengl and qopenglconfig testsLeander Beernaert2019-10-283-2/+44
| | | | | | Change-Id: Ic3b61fb7f23cb884552126038d0bdf289d0cbc6a Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Port rhi testsLeander Beernaert2019-10-284-1/+59
| | | | | | Change-Id: I3bf5731696a0647bf0e62758eb3d1742ba097041 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add replacement for '*g++*' to pro2cmake.pyLeander Beernaert2019-10-281-0/+1
| | | | | Change-Id: I3dc04a6169a98b7ff22392b979e743c41d6e0475 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Distinguish between qt_plugin and regular pluginsLeander Beernaert2019-10-2819-39/+312
| | | | | | | | | If we do not encounter the load(qt_plugin) statement in the .pro file but we do see the entry CONFIG+=plugin, treat the target as a regular CMake library instead of treating it as a qt_plugin by default. Change-Id: I67ad5c865a1a5ab691a6b0d86c2db4b686aa04dd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Enable running test on AndroidLeander Beernaert2019-10-282-9/+55
| | | | | | | | | This patch converts all add_executable calls when building for Android to a module library and replaces the call to add_test() to use the android testrunner binary. Change-Id: I10ba5919217cdc93cc2cbbb7d13ad9d10fc5ac1a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix declarative testsAlexandru Croitor2019-10-252-4/+0
| | | | | | | | | | | | | | | | | | | e1fd6074935cd0be0df14d89eb0244fcbd1677cf in qtbase removed the qml1 imports enum from qlibraryinfo.cpp, qconfig.cpp, etc. With the recent merge from dev, this was not adjusted in qt_generate_qconfig_cpp, and thus we generated one too many strings in qconfig.cpp, which resulted in QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) returning "imports" instead of "qml" subfolder, thus causing all qml modules not being found. Fix this by removing the extra qconfig.cpp entry, and all other references to the location. Change-Id: I128f667281138e2e0ef0fe1ced4af0405c532fef Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix invalid condition for test executionToni Saario2019-10-251-1/+1
| | | | | | | | | | Equals_value check that if the property is same as given value. Equals_property compares properties in this case the OS of target and host. Change-Id: Ica42f0f99562911a97d2f6bd02bd8a6420c980ac Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add --skip-install-root option to androidtestrunnerLeander Beernaert2019-10-241-4/+15
| | | | | | | | | Add the above option to android test runner since its not required when building with Cmake. Change-Id: Ie5c9b0af29cfa76802723960071b3bd2a37a56a5 Reviewed-by: Qt CMake Build Bot Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Add Android test runner toolLeander Beernaert2019-10-232-0/+29
| | | | | Change-Id: I235bc07be0e0f7a3b0ce6297c187950a57fb31ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add custom targets to generate Android APKLeander Beernaert2019-10-234-4/+35
| | | | | | | | | | This patch adds two custom targets to generate android apks. The targets are named ${TARGET}_prepare_apk_dir and ${TARGET}_make_apk. The first one insures the binary is copied to the right location and the latter invokes androiddeployqt on the apk directory. Change-Id: I8152cef387b50ec03ee2bfd92b56910a6f22754c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Convert ANDROID_PACKAGE_SOURCE_DIR for android (pro2cmake)Leander Beernaert2019-10-231-1/+2
| | | | | | Change-Id: I76730852e4433d095bc42ff617254a77f2d1bf51 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake scripts: do not override local target through includesFrederik Gladhorn2019-10-231-3/+3
| | | | | | | | | | This is needed for tests/auto/gui/kernel/qguiapplication which includes the qcoreapplication test. Without this change, the target name is taken from the included .pro file, instead of from the current file. Change-Id: I2d8a207fd70a49ad956fb9a83a59811d89682082 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake scripts: do not add spaces in empty linesFrederik Gladhorn2019-10-231-1/+5
| | | | | | | | | | When adding resources inside a condition, we'd end up with lines containing just spaces. Change-Id: I623203d042e2492bdd72f97d8b9d90517040b0df Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake scripts: handle aix-g++Frederik Gladhorn2019-10-231-0/+1
| | | | | | Change-Id: I62b9e9fa9aae3350dc8c668a98453c2373c1a709 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: add gui/image testsFrederik Gladhorn2019-10-2313-17/+564
| | | | | | | | Fixes: QTBUG-78223 Change-Id: I9a5c90bb664e3baa4481e6bdaa9a4990e3f68317 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Mimic qmake by building our own xinputLeander Beernaert2019-10-211-1/+16
| | | | | | | | When we don't find the xinput library on the system, build it ourselves. Change-Id: I399e847513cdd1c2dcdc1d862265284002f8808a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* Regenerate all configure.json filesLeander Beernaert2019-10-214-37/+127
| | | | | Change-Id: Iabd2430adc4877859dc73f4092927a69decf0311 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Handle Library dependencies in compile testsLeander Beernaert2019-10-211-10/+21
| | | | | | | | Update configurejson2cmake.py to also write out the libraries compile tests depend on. Change-Id: I22dbc227a33b9b5d39a2198c6ee6062e7e1bf3de Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QtBuild: Use STRING type for install locationsTobias Hunger2019-10-211-15/+16
| | | | | | | | | | | | | Use STRING type for install locations as we use them relative to the CMAKE_INSTALL_PREFIX. PATH type will get expanded to absolute paths by newer CMake versions, so that breaks our logic. Change-Id: I36be1f0378c4fb07ad8db0051d540f9d243000be Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Write out a module description fileTobias Hunger2019-10-213-0/+32
| | | | | | | | | Write out a file with some JSON data to describe a module. This file contains information on how that module has been built. Change-Id: I8a604692663cbb7b76b96b97124130e30b822e4b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Convert corelib plugin testsLeander Beernaert2019-10-2127-2/+697
| | | | | Change-Id: Ia98f7945a2c5b09a9b4d59e430cf05a7fecb7d55 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add ALLOW_UNDEFINED_SYMBOLS to add_qt_pluginLeander Beernaert2019-10-211-4/+6
| | | | | | | | Allow plugins to be built with undefined symbols when ALLOW_UNDEFINED_SYMBOLS is specified. Change-Id: I6bc809e3e5257302157bf8484f850d8319674a4a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Temporarily disable automatic static linking of bearer pluginsAlexandru Croitor2019-10-182-0/+2
| | | | | | | | | | | The bearer plugins cause duplicate symbol errors when linking executables in a static build. Re-apply commit b2662b05dd078c46b82f5f041f51b0b83554113d Task-number: QTBUG-79211 Change-Id: Ie4c1359f1f4d649a22570a31634c94fd22102730 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix OpenSSL include path for QtNetwork private testsLeander Beernaert2019-10-181-0/+14
| | | | | | | | | On platforms which use OpenSSL that is not installed in a standard directory, e.g: android + vcpkg, private tests would fail to resolve the include for OpenSSL. Change-Id: I57ce6a83e3bc9a232d4285530f8619ffbfdf2f77 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Prospective fix for Boot2Qt build in the CISimon Hausmann2019-10-181-3/+3
| | | | | | | | | | | | | | | One of the parameters that Coin passes to configure is this: -device-option DISTRO_OPTS="hard-float boot2qt" The configure script would "swallow" the quotes and end up calling qmake with -device-option DISTRO_OPTS=hard-float boot2qt, causing qmake to complain that the standalone "boot2qt" option is unknown. Fix this by preserving the quotes in the forwarding helper functions. Change-Id: I16098bd35acb579ebf183b0f7746af8758269e7c Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Rename builtin test data resource nameLeander Beernaert2019-10-181-1/+1
| | | | | | | | | | Rename the builtin test data resource name to something more unique as there are name clashes when building tests which also add a resource named 'testdata'. Change-Id: Icc1bbff3134e1dbc6ea4f6a87a1715b936c723cc Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add conversion code for Java codeLeander Beernaert2019-10-186-44/+126
| | | | | | | | | | Add support to pro2cmake to convert java code for android. Add support to override API_LEVEL for the Android sdk jar file. If the sdk is not found, we'll default to the one located by QT_ANDROID_JAR. Change-Id: If0b746dc7f9148ac43e6592a4a4dd23d46bbd4cd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Pick the latest available C/C++ standard when compiling QtSimon Hausmann2019-10-173-5/+23
| | | | | | | | | | This maps the behavior of mkspecs/features/qt_common.prf and enables the use of C++17 for example in Android, where the toolchain supports it anyway. Change-Id: I41f4bdb160a3929e2fb78f36efb1ad5f2ad391a5 Reviewed-by: Qt CMake Build Bot Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>