summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Post merge fixesLeander Beernaert2019-11-252-4/+15
| | | | | Change-Id: I78d3c9687f99c0a32da04257e297e88ef0b02581 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge "Merge remote-tracking branch 'origin/dev' into wip/cmake" into wip/cmakeThe Qt Project2019-11-2520-620/+2628
|\
| * Merge remote-tracking branch 'origin/dev' into wip/cmakeLeander Beernaert2019-11-1920-620/+2628
| |\ | | | | | | | | | Change-Id: Ifecc2d9db396d783124df8567553ba5f846f30bb
| | * Update UCD data to Unicode 12.1.0's Revision 24Edward Welbourne2019-10-3016-611/+2614
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Had to teach the update program to accept category Lm as for Joining_Transparent, for the sake of a new ArabicShaping.txt entry. Added three new Unicode versions, several new scripts and a new word-break class. Updated UCD's test data for tst_QTextBoundaryFinder. This left 57 tests failing; I have commented out the data rows for those tests, pending someone with more knowledge addressing this. Task-number: QTBUG-79631 Task-number: QTBUG-79418 Change-Id: Ic33d3b3551195d47a84d98e84020f57a68f0b201 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * Update CLDR to v36Edward Welbourne2019-10-252-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Released on October 4th. Adds Windows names for two time zones, Qyzylorda and Volgograd. Added languages Chickasaw (cic), Muscogee (mus) and Silesian (szl). Norwegian number formatting has flipped back to using colon rather than dot as time separator; it's flipped back and forth over the last several CLDR releases. The dot form is present as a variant, the colon form was long given as the normal pattern, then went away; but now it's back as a contributed draft and that's what we pick up. The MS-Win time-zone ID script was iterating a dict, causing random reshuffling when new entries are added. Fixed that by doing the critical iteration in sorted order. Omitted locales ccp_BD and ccp_IN due to QTBUG-69324. Task-number: QTBUG-79418 Change-Id: I43869ee1810ecc1fe876523947ddcbcddf4e550a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Correct some references to corelib/tools/ to say corelib/text/Edward Welbourne2019-10-252-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Unicode data tables moved with QString and friends. So did the locale data generated from CLDR. This amends commit a9aa206b7b8ac4e69f8c46233b4080e00e845ff5. Change-Id: If12f0420b559dcb78993adc00e9f39751bca684a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Compile-fixes in the generator for qurltld_p.hEdward Welbourne2019-10-251-3/+3
| | | | | | | | | | | | | | | | | | | | | This is a follow-up to c0ab2ad98f5c3907be032dc4de938ba5d88e697d. Change-Id: Ic05d80fa0561f7609703407cc58a0caccbcb1061 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Add FindWrapHarfbuzzAlexandru Croitor2019-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently we didn't have a wrap find module for it before. Add one, and add special support to handle a Gentoo broken Config file which is exported by an autotools build of harbuzz. Change-Id: I83cbeb817caf2610104c16713d4eac6ab6f8c63b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | | Add support for DYNAMIC_QMLDIR to pro2cmakeLeander Beernaert2019-11-251-50/+134
| | | | | | | | | | | | | | | Change-Id: I95575dc352343ec86a6f7cacd7b49521262a9a7a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Fix formatting in helper.pyLeander Beernaert2019-11-251-5/+9
| | | | | | | | | | | | | | | Change-Id: I8ee2abd27064bfc5bf3f291c2743570d11227fcf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Fix pro2cmake formattingSimon Hausmann2019-11-232-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | ... by running make format. Change-Id: I523a48abd2c483107f5c16c24daa695fcc0a55e5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CMake Build Bot
* | | Add parts needed for QtQuick3DMårten Nordheim2019-11-221-6/+5
|/ / | | | | | | | | | | | | | | | | | | | | There is a patch in progress to add mappings for Qt3D, so reuse the old broken Qt3D mappings, delete the duplicates. QtOpenGLExtensions is needed, so this patch includes it. Change-Id: I27896ee88b9e6873c8cd52d86afc330e309e1e14 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* | Add more special condition conversionsLeander Beernaert2019-11-141-0/+11
| | | | | | | | | | | | | | | | Handle conversions for QT_NO_CURSOR, QT_NO_TRANSLATION and qtConfig(opengles.). Change-Id: Idd930f77e78f235b7997a5083ac7faf630ed9801 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Adjust script to generate new CMake API callsAlexandru Croitor2019-11-141-15/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The script can now generate both old style CMake API calls (add_qt_module), as well as new style (qt_add_module). The first case is considered api version 1, and the second case is version 2. You can force which api version to use for generation using the --api-version command line argument. This is useful when you want to regenerate an old project (one that hasn't switched to new style), to keep the diffs easier to read. When no parameter is specified, the script will auto-detect which api version is used in the existing CMakeLists.txt file (if it exists), and keep using that, until someone force regenerates the project with a new api version. Change-Id: I41e4e6ed5db94ef7220c09b46fc5f12e6613e5d2 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | pro2cmake: Allow limiting the number of projects to convertAlexandru Croitor2019-11-141-0/+17
| | | | | | | | | | | | Change-Id: I7c06d530cb98cc07e4a618427a7cf7b5c70aa171 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | pro2cmake: Fix generic_version_handler not to be greedyAlexandru Croitor2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | Otherwise in a condition with multiple comparisons, the regexp would match too many characters, and not extract the correct variable name. And to be extra safe, match until a comma is encountered. Change-Id: I29d8344287efca5c5b232006f6bbdf39e6e4ee67 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Allow passing args from run_pro2cmake to pro2cmakeAlexandru Croitor2019-11-131-3/+18
| | | | | | | | | | | | Change-Id: Ic874d4cd3488903ffec438f5c127b589e6371f7a Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | pro2cmake: Reformat code with blackAlexandru Croitor2019-11-132-1/+5
| | | | | | | | | | | | | | Change-Id: I699031d4a05dad84a0807039dcdba17fd5acf2e3 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: If CONFIG-=app_bundle consider this a non gui appAlexandru Croitor2019-11-131-1/+1
| | | | | | | | | | Change-Id: I45804af3c43cf1af8b00ac3542e045fe697bf1b6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | pro2cmake: Fix broken is_manual_test usageAlexandru Croitor2019-11-131-2/+2
| | | | | | | | | | | | | | | | Amends 681e8b4ead432b2658b0be9f90454bbdbd80d1b1 Change-Id: I5ac8761de10d945b6ac78ba95a179209c80cb893 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add add_qt_manual_test()Leander Beernaert2019-11-121-1/+13
| | | | | | | | | | | | | | | | | | | | | | This patch adds add_qt_manual_test() which is a simple wrapper around add_qt_executable() which does not build under ${CMAKE_BUILD_DIR}/bin or install the targets. This could potentially be used later to tag manual tests. Change-Id: Ic4e0a1d133009f5a858b9394347a0996cf42683f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Consider _LOADED operations as always processedAlexandru Croitor2019-11-121-0/+1
| | | | | | | | | | | | | | To remove wrong unused keys comments from the project file. Change-Id: Ib52b1738b6136a54f6accb86156b9b2609f331c3 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | pro2cmake: Handle operation evaluation order when including childrenAlexandru Croitor2019-11-123-43/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of processing included_children operations either before or after the parent scope, collect all operations within that scope and its included children scopes, and order them based on line number information. This requires propagating line numbers for each operation as well as line numbers for each include() statement, all the way from the parser grammar to the operator evaluation routines. This should improve operation handling for included_children (via include()), but not for regular children (introduced by ifs or elses), aka this doesn't solve the whole imperative vs declarative dilemma. Sample projects where the improvement should be seen: tests/auto/gui/kernel/qguiapplication and src/plugins/sqldrivers/sqlite. This amends f745ef0f678b42c7a350d0b427ddafeab4d38451 Change-Id: I40b8302ba6aa09b6b9986ea60eac87de8676b469 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add mapping entry for LinuxOfonoSupportLeander Beernaert2019-11-121-0/+3
| | | | | | | | | | Change-Id: I4c88b58cad6b4f4a88f02a38dd84d3a667bcc063 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Allow skipping subdirs projects via command lineAlexandru Croitor2019-11-122-0/+28
| | | | | | | | | | | | | | | | | | | | Pass either --skip-subdirs-project to pro2cmake or --skip-subdirs-projects to run_pro2cmake. Change-Id: Ic444858f6fc6deb3c893782c0770993aa39d5579 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Fix incorrect replacement of x86 conditionsAlexandru Croitor2019-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The regular expression used to eat the character that comes after the x86 token, which was incorrect when matching x86SimdAlways. Fix the regular expression to use a lookahead with a negative character class of word characters. Change-Id: I9ed8f9a490369bf5704b752f8bba3b7118a2cd5b Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Fix formatting and mypy errorsAlexandru Croitor2019-11-121-5/+7
| | | | | | | | | | | | Change-Id: Ic41998c39f5f5b890b3aa8ec43c6f3f03fee54da Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Skip errors regarding not found generated .pri filesAlexandru Croitor2019-11-121-1/+4
| | | | | | | | | | | | | | | | | | | | A lot of project files include files like qtsqldrivers-config.pri which do not exist when running pro2cmake. It should be safe to hide this error messages when converting projects. Change-Id: I4205010e537f67f9b276b4cb94ec30f847c43c68 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | pro2cmake: Clean up debug messagesAlexandru Croitor2019-11-122-18/+25
| | | | | | | | | | | | | | | | | | | | | | Don't needlessly show a bunch of special case debug messages unless debugging is enabled. There used to be a barrage of scary message when using run_pro2cmake. Change-Id: I49ab3522e11844a99653034b5f15a634a368d227 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Make standalone tests build via top level repo projectAlexandru Croitor2019-11-081-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously repo/tests/CMakeLists.txt was a standalone project on which CMake could be called. This was useful for Coin to be able to build and package only tests, but was a bit troublesome because that means having to specify the usual boilerplate like minimum CMake version, which packages to find in every tests.pro project. Instead of having a separate standalone project, modify the top level project and associated CMake code to allow passing a special QT_BUILD_STANDALONE_TESTS variable, which causes the top level project to build only tests, and find Qt in the previously installed qt location. This also means that when building a repo, we generate a ${repo_name}TestsConfig.cmake file which does find_package on all the modules that have been built as part of that repo. So that when standalone tests bare built for that repo, the modules are automatically found. qt_set_up_standalone_tests_build() is modified to be a no-op because it is not needed anymore. Its usage should be removed from all the other repos, and then removed from qtbase. Non-adjusted tests/CMakeLists.txt projects in other repositories should still be buildable with the current code, until they are updated to the new format. Adjust the Coin build instructions to build the standalone tests in a separate directory. Adjust pro2cmake to generate new structure for the tests/tests.pro projects. Adjust the qtbase tests project. Fixes: QTBUG-79239 Change-Id: Ib4b66bc772d8876cdcbae1e90ce5a5a5234fa675 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-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add support for benchmark conversionLeander Beernaert2019-11-041-8/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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>
* | 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>
* | 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-281-4/+18
| | | | | | | | | | | | | | | | | | 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>
* | 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>
* | 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>
* | Add conversion code for Java codeLeander Beernaert2019-10-181-1/+42
| | | | | | | | | | | | | | | | | | | | 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>
* | Fix C++ standard detectionSimon Hausmann2019-10-171-13/+11
| | | | | | | | | | | | | | | | | | | | | | We cannot use a generator expression in an if statement, it does not work. Instead, we could inspect the CMAKE_C/CXX_COMPILE_FEATURES list, but unfortunately that's not reliable. For example it detects that ICPC supports C++17 when in fact that depends on the installed libstdc++. Therefore this patch revives our own configure tests. Change-Id: Ic3bc5762fbe81837722523e3881ac16e84628519 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix message about missing portalockerOliver Wolff2019-10-151-1/+1
| | | | | | | | | | Change-Id: Ia82c0aab7c9085eee8a07c4a15485c0804e65e5a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Fix add_qt_resource condition scopesLeander Beernaert2019-10-151-5/+14
| | | | | | | | | | | | | | | | Calls to add_qt_resource from extend_target were not being wrapped in a condition scope. Change-Id: I78cf889fcf4663660fd870bfb93eec90a4ca1c47 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Update android arch condition conversionLeander Beernaert2019-10-151-6/+6
| | | | | | | | | | | | | | | | | | | | Only convert the architectures if they are in a stand alone form. This means conditions such as 'if(x86 OR x86_64)', 'if(x86)', among others. This also correctly converts statements such as 'equals(QT_ARCH,x86)'. Change-Id: I1c3b8580ff9e4077c03a229d894d2bd3d95dba3d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Regenerate files after dev -> wip/cmake mergeAlexandru Croitor2019-10-142-0/+5
| | | | | | | | | | | | | | | | | | | | Note the following bigger things that had to be done: Handle GSS library / feature with a new custom find module. Implement rudimentary support for relocatability (does not currently handle extprefix). Change-Id: Ic6cd27dda7ebca9829f51cb42ea76fff6d1767ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-141-64/+38
|\| | | | | | | Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf