summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Move QOpenGLWidget from QtOpenGL to its own moduleJohan Klokkhammer Helsing2020-02-181-0/+1
| | | | | | | | Same pattern as QtQuickWidgets. Gets rid of QtOpenGL's dependency on QtWidgets. Task-number: QTBUG-74409 Change-Id: I4f9b55c23e25a1e0519734037b768a16e870c7d2 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Use char16_t in favor of ushort for locale data tablesEdward Welbourne2020-02-171-1/+1
| | | | | | Change-Id: I890dd2b52c1b786db1081744c8ca343baba93de4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Allow surrogate pairs for various "single character" locale dataEdward Welbourne2020-02-173-83/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract the character in its proper unicode form and encode it in a new single_character_data table of locale data. Record each entry as the range within that table that encodes it. Also added an assertion in the generator script to check that the digits CLDR gives us are a contiguous sequence in increasing order, as has been assumed by the C++ code for some time. Lots of number-formatting code now has to take account of how wide the digits are. This leaves nowhere for updateSystemPrivate() to record values read from sys_locale->query(), so we must always consult that function when accessing these members of the systemData() object. Various internal users of these single-character fields need the system-or-CLDR value rather than the raw CLDR value, so move QLocalePrivate's methods to supply them down to QLocaleData and ensure they check for system values, where appropriate first. This allows us to finally support the Chakma language and script, for whose number system UTF-16 needs surrogate pairs. Costs 10.8 kB in added data, much of it due to adding two new locales that need surrogates to represent digits. [ChangeLog][QtCore][QLocale] Various QLocale methods that returned single QChar values now return QString values to accommodate those locales which need a surrogate pair to represent the (single character) return value. Fixes: QTBUG-69324 Fixes: QTBUG-81053 Change-Id: I481722d6f5ee266164f09031679a851dfa6e7839 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/wip/cmake' into devAlexandru Croitor2020-02-132-1/+41
|\ | | | | | | | | | | | | | | | | | | Conflicts: tests/manual/rhi/hellominimalcrossgfxtriangle/CMakeLists.txt Hopefully final merge from wip/cmake, and then all cmake changes should target dev directly. Change-Id: I29b04c9b0284e97334877c77a32ffdf887dbf95b
| * Merge "Merge remote-tracking branch 'origin/dev' into wip/cmake" into wip/cmakeThe Qt Project2020-02-123-138/+179
| |\
| * | Use INSTALL_QMLDIR instead of Qt6_DIR for qmltypes propertiesLeander Beernaert2020-02-121-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ic7e6230656670ebe925530eea5e34b16b6fea59b Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | Add library mapping for QtShaderToolsMårten Nordheim2020-02-121-0/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ideefd13d75bdd4e0463c0f7b1e15c0781cfffe8c Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | Add support for qt_helper_lib()Leander Beernaert2020-02-121-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add qt_add_3rdparty_library() function as a replacement for qmake's qt_helper_lib feature. All 3rdparty libraries will be available under the Qt:: alias when built through this method so that they can properly register as dependencies of a Qt module. This patch also adds Qt3rdPartyLibraryConfig.cmake.in to export the CMake configuration for static builds and shared libraries. Change-Id: I52bf3a95ca22fccd9ab54343468847bb1b570c28 Fixes: QTBUG-81969 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-132-1/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <alexandru.croitor@qt.io> Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-042-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/widgets/widgets/imageviewer/imageviewer.cpp src/corelib/text/qchar.cpp src/corelib/time/qdatetime.cpp Change-Id: I9762f5c4ff650799219729d6aee79ac07ce9024a
| | * | Enable system locale to skip digit-grouping if configured to do soEdward Welbourne2020-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS it's possible to configure the system locale to not do digit grouping (separating "thousands", in most western locales); it then returns an empty string when asked for the grouping character, which QLocale's system-configuration then ignored, falling back on using the base UI locale's grouping separator. This could lead to the same separator being used for decimal and grouping, which should never happen, least of all when configured to not group at all. In order to notice when this happens, query() must take care to return an empty QString (as a QVariant, which is then non-null) when it *has* a value for the locale property, and that value is empty, as opposed to a null QVariant when it doesn't find a configured value. The caller can then distinguish the two cases. Furthermore, the group and decimal separators need to be distinct, so we need to take care to avoid cases where the system overrides one with what the CLDR has given for the other and doesn't over-ride that other. Only presently implemented for macOS and MS-Win, since the (other) Unix implementation of the system locale returns single QChar values for the numeric tokens - see QTBUG-69324, QTBUG-81053. Fixes: QTBUG-80459 Change-Id: Ic3fbb0fb86e974604a60781378b09abc13bab15d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * | glgen: Fix compile errorJohan Klokkhammer Helsing2020-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes compile error introduced in ff2b2032a08. Change-Id: Iee1016f7cf05638db575475c5c0d632f8edb3a8c Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* | | | Merge remote-tracking branch 'origin/wip/cmake' into devAlexandru Croitor2020-02-102-11/+55
|\ \ \ \ | | |_|/ | |/| | | | | | Change-Id: If75ae006db6eb977cf66af4c3d36cb5c8098a1f1
| * | | Use posixpath when generating relative pathMårten Nordheim2020-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes generating some paths with the backslash in the beginning Change-Id: Ic7705d61f9362d3b854b2eb95f95a8951beca72d Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| * | | Add necessities for qtquick3dMårten Nordheim2020-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I39aadda7ed2b088a475ba5f940d1cb65b5b62f94 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | pro2cmake: Handle QT += core-private correctly for modulesAlexandru Croitor2020-02-051-10/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a module project (Quick) contains QT += core-private, the qmake semantics translated to CMake would mean the following: target_link_libraries(Quick PUBLIC Core) target_link_libraries(Quick PRIVATE CorePrivate) target_link_libraries(QuickPrivate INTERFACE CorePrivate) Whereas a QT_PRIVATE += core-private only means target_link_libraries(Quick PRIVATE CorePrivate) without adding any public dependencies to QuickPrivate. To achieve that, we need a few modifications to both pro2cmake and QtBuild.cmake - pro2cmake doesn't automagically add public and private dependencies to targets when encountering a private module assigned to QT. Instead it generates the logic described above by passing correct LIBRARIES, PUBLIC_LIBRARIES, and PRIVATE_MODULE_INTERFACE values. - pro2cmake doesn't do any dependency magic for non-module targets anymore, like executables, plugins, internal_modules. This means that QT assignments are now regular public dependencies. - qt_add_module and qt_extend_target now accept a new PRIVATE_MODULE_INTERFACE option. - qt_extend_target does not automagically make private modules be public dependencies on other private modules. - qt_extend_target correctly assigns PRIVATE_MODULE_INTERFACE values to Private module only. For other target types, it's a no-op. The change requires regeneration of all projects. When we fix pro2cmake and QtBuild.cmake to properly handle internal_modules (create only Private modules without creating a non-Private counter part), we will need another project regeneration to correctly assign dependencies. Change-Id: I4c21f26b3ef3b2a4ed208b58bccb65a5b7312f81 Task-number: QTBUG-81780 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | | Merge remote-tracking branch 'origin/wip/cmake' into devAlexandru Croitor2020-02-0353-0/+9103
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pulls the CMake port, which not only adds CMake files but also modifies existing code. A brief summary of "seemingly unrelated" changes: * configure.json was re-formatted to not use multi-line strings. That is an extension of the Qt JSON parser but not JSON compliant, which is needed for the configure.json-to-cmake conversion script (python). * Some moc inclusions were added due to CMake's slightly different way of handling moc. With the changes the files build with qmake and cmake. * Since CMake just grep's for the Q_OBJECT macro to determine whether to call moc (instead of doing pre-processing like qmake), the existing use of "Q_OBJECT" in our documentation was changed to \Q_OBJECT, which cmake doesn't see and which is now a qdoc macro. * QTestLib's qFindTestData was extended to also search in the source directory known at build time. What this change also brings is a new way of building modules in Coin by using YAML configuration files that describe the steps of building and testing in Coin specific terms. The platform configuration files in qt5 are instructed to use the old Coin built-in way of testing ("UseLegacyInstructions" feature) but for any configurations that do not have this, these yaml files in the coin/ sub-directory are used and shared across repositories. Change-Id: I1d832c3400e8d6945ad787024ba60e7440225c08
| * | | pro2cmake: Fix flake and mypy issuesAlexandru Croitor2020-01-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I33ab818c53f751ede7a7840b1086a3ae8263e109 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | pro2cmake: Handle QML_IMPORT_MAJOR_VERSION and minor variantsAlexandru Croitor2020-01-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for qtdeclarative examples, otherwise CMake configuration fails due to missing QML import version info. Change-Id: Iedde7b6a9e2d5ac7f6d81969ac7d6d874361c02e Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Fix example generation without qmldir fileLeander Beernaert2020-01-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not return when no qmldir file is present and no dynamic qmldir information is set. Change-Id: I04e458f69e4e4a6ec9b1e7ca7ba0b0f7520996f7 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | pro2cmake: Don't set OUTPUT_NAME for qml pluginsAlexandru Croitor2020-01-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends f67d8ae2d4339c50cf0a4ca26f25c3afebc128ea Change-Id: I288a9388d4ebd354199bfa0913eff34d93a58d75 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Reformat pro2cmakeAlexandru Croitor2020-01-271-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I97175e8edbd4b911397f5b03a646006eff32a5bc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
| * | | Fix plugin target names to be compatible with Qt 5Alexandru Croitor2020-01-271-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5, qmake generates CMake Config files which expose the plugins as imported libraries. The name of these libraries are derived from the plugin class name. So QCocoaIntegrationPlugin, and not qcocoa. To keep compatibility between Qt5 and Qt6 CMake target names, the pro2cmake script should generate plugin target names based on the plugin class names. To avoid passing the same name in qt_add_plugin (target and CLASS_NAME), derive the class name from the target if the class name is not explicitly specified. Also add a new OUTPUT_NAME parameter which is used to change the final file name of the plugin, so that it's compatible with Qt5. For example to generate a qcocoa.dylib file, instead of QCocoaIntegrationPlugin.dylib file. The same OUTPUT_NAME value will be used for generation of plugin .prl files for qmake consumption. Change-Id: I4d53e680d7beb62befecd359cdf6bba60a34ff0d Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Support for QML Type RegistrarLeander Beernaert2020-01-241-1/+36
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifc1f44cf40b22c20ab768333ba9d5ce58a5f7250 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-2413-69/+1278
| |\| | | | | | | | | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| * | | Run make formatLeander Beernaert2020-01-162-7/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: If1107aefbfd374d6b664a94b21b9bbb5ed4cc178 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Do not set OUTPUT_DIRECTORY if it is already setLeander Beernaert2020-01-161-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can happen in unit tests where a test has TARGET set to "../name", which requires the target to placed in the parent binary directory. It is possible to run into a second assignment for OUTPUT_DIRECTORY via the DESTDIR property (e.g: qdbushmarshall test) which can then result in two OUTPUT_DIRECTORY values. However, the first one needs to take precedence or the tests won't execute properly. Change-Id: Ib263843fa86c3dd68d92a0989b95f2890335c92d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Adjust OUTPUT_DIRECTORY for tests when targets starts with ../Leander Beernaert2020-01-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatically insert OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../ for each tests that has a target name which starts with ../. To do so we added the TARGET_ORIGINAL property which does not remove the ../ from the target name. Change-Id: I55ba1385aa160610a0ff80ed56ff37a80c3590fa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Fix CMAKE_CROSSCOMPILING property name conversionLeander Beernaert2020-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I481043166ce3b0b70834bf63f2a70e84203304e9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Add library mappings for QtAxContainer and QtWekKitWidgetsLeander Beernaert2019-12-111-0/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I5d5b77e86437f752465bf8ae7c6dd6730b3bf471 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Add condition mapping for cross_compile to CMAKE_CROSS_COMPILINGLeander Beernaert2019-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I90220eda846299c14aca67ba59a2a9518bea2dee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Add special condition replacement for libclang in qttoolsLeander Beernaert2019-12-101-0/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: Icf35a2e39307e6239d8704824105bdc6b9081ffd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Add library mapping for QtToolsLeander Beernaert2019-12-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I59fdad5b56875b965a4831b07b5d8d13f9d7b10f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
| * | | Collect Json Metatypes from CMake's AutomocLeander Beernaert2019-12-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new bootstrap tool which will read CMake's AutoGenInfo.json and ParseCache.txt to determine what the current list of json files is that needs to be passed to moc --collect-json option. Right now this is enabled for qt_add_module() with the option GENERATE_METATYPES. pro2cmake has also been updated to detect qmake's CONFIG += metatypes and to generate the above option for modules. The implementation lives in Qt6CoreMacros so it can eventually be used in the public facing apis. The generated meta types file is saved under the target property QT_MODULE_META_TYPES_FILE. Change-Id: I03709c662be81dd0912d0068c23ee2507bfe4383 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Export non-private and non-public features and CONFIG valuesAlexandru Croitor2019-12-031-18/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we only exported features that had outputType PUBLIC or PRIVATE on the various "QT_ENABLED_PUBLIC_FEATURES" target properties. Now we also export features that have output type privateConfig, publicConfig and publicQtConfig. The new properties names are: - QT_QMAKE_PUBLIC_CONFIG for outputType == publicConfig - QT_QMAKE_PRIVATE_CONFIG for outputType == privateConfig - QT_QMAKE_PUBLIC_QT_CONFIG for outputType == publicQtConfig These need to be exported for 2 reasons: - other modules that need to check the config values - in preparation for generating proper qmake .prl and .pri information for each module Note that the config values are now considered actual features when doing condition evaluation. So if there exists a feature "ssse3" with outputType privateConfig, its enabled state can be checked via QT_FEATURE_ssse3 in consuming modules (but not in the declaring module). These config values are also placed in the respective QT_ENABLED_PUBLIC_FEATURES, QT_ENABLED_PRIVATE_FEATURES properties when exporting a target, so the properties will now contain both features and config values. In order to make this work, feature name normalization has to happen at CMake time, rather than done by the python script. This means that features like "developer-build" need to retain the dash in the qt_feature(), qt_feature_definition() and qt_feature_config() calls, rather than generating "developer_build" as the script did before. The normalization is done at CMake time. Feature conditions, CMake code, and -DFEATURE_foo=bar options passed on the command line should still use the underscore version, but the original name is used for the QT_QMAKE_PUBLIC_CONFIG properties. Note that "c++11" like features are normalized to "cxx11". Implementation wise, the configurejson2cmake script is adjusted to parse these new output types. Also QtBuild and QtFeature are adjusted to save the config values in properties, and re-export them from GlobalConfig to Core. Task-number: QTBUG-75666 Task-number: QTBUG-78178 Change-Id: Ibd4b152e372bdf2d09ed117644f2f2ac53ec5e75 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * | | Add initial support for cross-building to iOSAlexandru Croitor2019-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested locally with the following configurations: - iOS device builds (arm64) - iOS simulator builds (x86_64) - iOS simulator_and_device builds (fat arm64 and x86_64 archives) All iOS builds currently require a custom vcpkg fork which contains fixes for building the required 3rd party libraries. qtsvg, qtdeclarative, qtgraphicaleffects and qtquickcontrols2 have also been tested to build successfully. simulator_and_device builds are also supported, but require an umerged patch in upstream CMake as well as further patches to vcpkg. Task-number: QTBUG-75576 Change-Id: Icd29913fbbd52a60e07ea5253fd9c7af7f8ce44c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
| * | | pro2cmake: Format againAlexandru Croitor2019-11-261-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3c82e6c13d01203bda8ab28dc5cb2f9fe6a0c4c2 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | 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
| * | | | | 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>