summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Fix RemoveOperationJędrzej Nowacki2019-03-261-0/+3
| | | | | | | | | The operation was using an empty set as a base, so it was not really functional. Change-Id: I98fd80c1ede31994857aa1f0c8947ca7b9f76649 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Speedup run_pro2cmakeJędrzej Nowacki2019-03-261-11/+23
| | | | | | | | | | We can use all cores. Sadly it doesn't balance cores well as corelib.pro takes most of the time anyway, but the speedup is visible from ~15 to 5 min. Change-Id: Id8209c58491b38d19c6e9f1163d366c3e33a182c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Temporarily disable the opengles2 feature on WIN32Alexandru Croitor2019-03-211-0/+3
| | | | | | | | | | | | | | | | | | The feature used to be implicitly enabled because qt source ships with ANGLE sources, and thus ANGLE could always be built. Yet because the CMake port of ANGLE is not done yet, and because the feature is implicitly enabled, the build failed when trying to find GLES headers. To provide a nicer out-of-the-box configuring of the Windows build, disable the opengles2 feature on Windows, to default to a desktop GL build. It can be re-enabled once (if) ANGLE porting is done. After this change, you shouldn't need to pass any additional custom FEATURE_foo options to cmake to build qtbase on Windows. Change-Id: I94c96d8ef70cf671d2ce0198311f70b55fa642b1 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix sub-architecture (instruction sets / SIMD) handlingAlexandru Croitor2019-03-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In qmake there are at least 2 things to know regarding sub-architectures and instruction sets. Which instruction sets does the compiler know to compile for, represented by the various config.tests and features in qtbase/configure.json. And which instructions sets are enabled by the compiler by default, represented by the configure.json "architecture" test and accessed via QT_CPU_FEATURES.$$arch qmake argument. Before this patch there was some mishandling of the above concepts in CMake code. The former can now be checked in CMake with via TEST_subarch_foo and QT_FEATURE_foo (where foo is sse2, etc). The latter can now be checked by TEST_arch_${TEST_architecture_arch}_subarch_foo (where foo is sse2, etc and the main arch is dynamyicall evaluated). The configurejson2cmake script was adjusted to take care of the above changes, and the cmake files were regenerated as well. Change-Id: Ifbf558242e320cafae50da388eee56fa5de2a50c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: pro2cmake.py: Report more qmake variables as usedTobias Hunger2019-03-201-6/+10
| | | | | | | | Report some more qmake variables as used when they are used to decide which kind of target to write. Change-Id: Id2602bb8cc07130456c04c53148acb73f21b0f21 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle "target.path" and "INSTALLS = target"Tobias Hunger2019-03-201-1/+9
| | | | | | | | Add installation location information into CMakeLists.txt files if available in CMake. Change-Id: I498deac71b1cc33c7d30790e32da236afdcb23af Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle DBUS_*STobias Hunger2019-03-201-0/+12
| | | | | | | | Handle DBUS_ADAPTORS and DBUS_INTERFACES and turn them into equivalent CMake statements. Change-Id: Ia8a69e7ab97d9f18df93097a6e2c7c1686cb16a3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Fix typoTobias Hunger2019-03-201-1/+1
| | | | | Change-Id: I5eebe64f825ab28a67093b1a2cef417ed0908ec0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve configurejson2cmake feature output generationAlexandru Croitor2019-03-181-30/+72
| | | | | | | | | | | | | | | | | | | There were a few cases of feature outputs that were handled incorrectly before this change, specifically: - publicFeatures and privateFeatures with custom names - privateFeatures that also ended up writing defines into public headers - publicFeatures that ended up in private headers - internal features (that should have no QT_FEATURE_foo defines) that were still written to either public or private headers The change takes care of all those cases by keeping a map of which features need to be written along with any visibility specifications, as well as custom name changes. Change-Id: I37baeaeacdfe4935128a392c72ca71b5c3ca1c8d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: pro2cmake.py: Better reporting of unused keys from qmakeTobias Hunger2019-03-181-28/+25
| | | | | Change-Id: Ie1b1f446c314bb5248cc13efeae1f279b0182e04 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle SIMD sourcesTobias Hunger2019-03-181-0/+26
| | | | | Change-Id: Ib445888e769432e8c247ae2d2fb5d8af2d5cd275 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: configurejson2cmake.py: Fix typoTobias Hunger2019-03-121-1/+1
| | | | | Change-Id: Ib142032577f1d84bfb2402103271db04a4bb25a1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: pro2cmake.py: Remove .qrc files!Tobias Hunger2019-03-111-16/+91
| | | | | | | Remove qrc files from CMake. Use add_qt_resource function instead. Change-Id: I64cdbd9498f97d23cd8e03f34ab5ae4a52dba5af Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: pro2cmake.py: Map libpng to PNG::PNGTobias Hunger2019-03-041-0/+1
| | | | | Change-Id: Ia8dd20b777e24e2783bedb0f063db2189e0b7ed3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Automatically map equals(QT_ARCH, "foo") in conditionsTobias Hunger2019-03-041-3/+11
| | | | | Change-Id: I10d8001ba8330deaa622ef8c499b2b6fe438e28a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle BOOTSTRAP for add_qt_toolTobias Hunger2019-03-041-1/+4
| | | | | | | Add BOOTSTRAP for tools that need it automatically. Change-Id: I33b2ec16dfcb09709f844ed232ce9974a9d7c7ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Cleanup harfbuzz featuresМихаил Светкин2019-03-011-0/+6
| | | | | | | Remove system-harfbuzz feature and use harfbuzz feature as system Change-Id: I441345a667450f1c2d19380b0709911011c7ceb7 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: pro2cmake.py: Simplify code and add test for line continuationTobias Hunger2019-02-283-1/+16
| | | | | | | Simplify code a bit and add a test for line continuation fixup. Change-Id: If865bc94d7d419c65d3280b5f9613ebc0d3db74a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle for loops without blockTobias Hunger2019-02-283-1/+13
| | | | | | | | Handle for loops with a single line of instructions and add a test for that. Change-Id: I041ae30f64abcbd3db7df29933647f047b92ede3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Make \$\$QT_FOO work in assignmentsTobias Hunger2019-02-283-1/+10
| | | | | | | This broke somewhere along the way. Add a test for this. Change-Id: I106ddff6eb86a51ef132285d1bc623f3b5cf71fb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Fix parsing of Line continuation before end of fileTobias Hunger2019-02-283-1/+10
| | | | | | | ... and add a test case for this. Change-Id: If20d737b54ecb3f9e128e59070b238c840acad6c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Fix parsing of for loopsTobias Hunger2019-02-283-9/+24
| | | | | | | Ignore for loops in the pro2cmake.py parser and add a unit test for that. Change-Id: I2a0c075c45cf56f4f24ada2d53e8e8e94ce19f26 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: run_pro2cmake.py: Add statisticsTobias Hunger2019-02-281-4/+20
| | | | | Change-Id: I78e65970694d0c37c4b3c3ba6e6a83155579ea0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle complex conditionsTobias Hunger2019-02-283-8/+29
| | | | | Change-Id: Ifb047e5736f1831ddbd65b210e760c2729378334 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Warn and fix broken line continuationTobias Hunger2019-02-282-1/+63
| | | | | | | | Warn on broken line continuation in .pro-files, but fix up the issue and proceed. Change-Id: Ibe68011b312bcea25620ce790a0b44b2983fbd88 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle values with () in assignmentsTobias Hunger2019-02-273-2/+17
| | | | | Change-Id: I0f59c7fa57cd6c64b151f439d4eea4ae56dca288 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Fix handling of TEMPLATE=subdir .pro-filesTobias Hunger2019-02-271-2/+1
| | | | | Change-Id: I52f575df199c4d9b38123ab5d838f2e85344835d Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Improve condition simplification codeTobias Hunger2019-02-273-11/+51
| | | | | | | | | Improve the code that simplifies conditions to take "OS families" into account. E.g. if a system must be ANDROID, then it is redundant to express that it is NOT APPLE_OSX. Change-Id: Ib7e62726c309bf84b9e5e0d6a6e3465511db0ead Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Better parsing of scopes with elseTobias Hunger2019-02-277-61/+237
| | | | | | | | Parse conditions more exactly as before, enabling proper handling of else scopes. Change-Id: Icb5dcc73010be4833b2d1cbc1396191992df1ee4 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Small unsorted fixes in preparation of upgrading to dev branchTobias Hunger2019-02-271-3/+5
| | | | | | Change-Id: Id4d03558e956c6994dc6a8b701030ba4edf86adf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Fix build without double-conversion on macOSMikhail Svetkin2019-02-271-1/+1
| | | | | | Change-Id: I5102e93141eec95044df44884dcf6ecd1b9e8dd0 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Give the egl_x11 test the necessary libs to compileAlbert Astals Cid2019-02-271-4/+11
| | | | | | | | | | | And add the eglfs_x11 plugin We need to actually try to compile the test as the comment it it says that having x11 and egl is not enough since sometimes they are actually incompatible Change-Id: If6bdc08c21b91fa9c41663f2fa653fd59e5ddd2e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* pro2cmake: account for child .pro files having includesAlbert Astals Cid2019-02-271-1/+2
| | | | | Change-Id: Ic2213578c9bd27787ae9788acbe4455252a1158c Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* cmake: add more mappings to helper.pyAlbert Astals Cid2019-02-181-0/+3
| | | | | Change-Id: Ie5096c1fe74105db84ccd60655a20d389a887b14 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* pro2cmake: Target dependencies can be on -private libsAlbert Astals Cid2019-02-181-1/+1
| | | | | | | so use map_qt_library instead of map_qt_base_library Change-Id: I4dd0097fff3ffd9ec4aad36d11d79ea23a08cb90 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: helper.py more mappingsAlbert Astals Cid2019-02-151-0/+3
| | | | | Change-Id: I69a1715bbda8f5ddfb367e7c7c693e4ec412f5c3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: enable vnc platform pluginAlbert Astals Cid2019-02-121-0/+2
| | | | | Change-Id: I5015681aff3c9ceb5c0b72571bc8756f3ada104c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix Desktop GL/EGL/GLESv2 linkageSimon Hausmann2019-02-121-1/+2
| | | | | | | | | | | | | | | | This change fixes a few things in one go: * cmake's FindOpenGL cannot be used reliably to detect EGL. So use a custom module for that. * Added a custom module for GLESv2 detection, as cmake's FindOpenGL does not support that. * Map CONFIG += opengl to a WrapOpenGL target, which links against either GLESv2 or libGL - just like mkspecs/features/*/opengl.prf * cmake's FindOpenGL remains in use solely to detect the availability of desktop gl. Change-Id: I9315e5ad1fd88e1b7dc7e920053e98fb51fea7fc Reviewed-by: Volker Krause <volker.krause@kdab.com>
* cmake: Find and build odbc pluginAlbert Astals Cid2019-02-121-0/+1
| | | | | Change-Id: I479d2b1cc897f601ef68b10272c9396e52228201 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: Find and build psql pluginAlbert Astals Cid2019-02-121-0/+1
| | | | | Change-Id: I8cbc8ab0061f67824d78198cbb926f0625fc7e41 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: Search and enable the sqlite[3] pluginAlbert Astals Cid2019-02-122-0/+6
| | | | | | | | Added to QtFeature.cmake a way to be able to run feature_module begin and end without having an actual module by passing NO_MODULE Change-Id: Ib708bd3878e2591da193d18563c8932cc4b75e7f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Find mtdev and use itAlbert Astals Cid2019-02-121-0/+1
| | | | | Change-Id: I90db48efaa6a23add770fcf69b46c4f4c84866c1 Reviewed-by: Liang Qi <liang.qi@qt.io>
* configurejson2cmake.py: openssl -> OpenSSL mappingAlbert Astals Cid2019-02-121-0/+1
| | | | | Change-Id: I29480dfbd4f144e3d5620b43419ec46fb866cf4b Reviewed-by: Liang Qi <liang.qi@qt.io>
* CMake: Fix build of system jpeg is not availableKai Koehne2019-02-121-0/+3
| | | | | | Change-Id: Ie7462db556d0615e74755fa4fc3b51f625aade2f Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* configurejson2cmake.py: Don't emit a fixme for C++11 configAlbert Astals Cid2019-02-121-0/+3
| | | | | Change-Id: I8408f6126115a0f76b0fed2cc42b54e5c148821d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* configurejson2cmake.py: Support for the two cases that have LIBS +=Albert Astals Cid2019-02-121-2/+22
| | | | | | | | Since there's only two i hardcoded it for the moment instead of trying to parse the line Change-Id: I0da578af64ef9621cbbc78bf6ce15bf8a3f63f1c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: also write FIXME on the configure.cmake for 'use'Albert Astals Cid2019-02-121-0/+2
| | | | | | | Since most of the times it means we need to link with some other stuff Change-Id: I06262d4403225bca7a5e68d47145fefcf6702e5a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: blacklist xlib test, we can just use X11_FOUNDAlbert Astals Cid2019-02-121-0/+2
| | | | | Change-Id: Ic733c42e11b00fa8bf107f460a0596aeb10ac37b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: Find Cups and enable its pluginAlbert Astals Cid2019-02-121-0/+1
| | | | | Change-Id: I44bf176587331d86eb147d106f28deb0a6618ab4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: Blacklist the libinput_axis_api testAlbert Astals Cid2019-02-121-0/+3
| | | | | | | We already have a cmake find module for libinput so we know it is there Change-Id: I153544c5c13cb57b1ce258243ede17f4be9507fd Reviewed-by: Liang Qi <liang.qi@qt.io>