summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| * | | 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>