summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QOpenGLContext: Remove QGL helpersJohan Klokkhammer Helsing2020-02-113-51/+1
| | | | | | | | | They were all private, and used only by QGL* (which have been removed) so should be safe to remove. Task-number: QTBUG-74408 Change-Id: Ia7fdff8f0bb963449470dbd8296cbdd8652c50e2 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove comments about destructors needing to be emptyJan Arve Sæther2020-02-115-21/+0
| | | | | | | | Not important, but removes some ### Qt6 comments from my radar Change-Id: Ifd1bf44c44ece8fa1314d3c7e0e95d1bd37ae0ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix compilation with -no-directwriteEskil Abrahamsen Blomfeldt2020-02-102-5/+15
| | | | | | | | | The refactoring for adding the DirectWrite font database broke disabling this feature, which in turn broke compilation with CMake, since the configure test isn't added there yet. Change-Id: I7727145112df7f1009a09f09bf3368645fb1b5da Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove dead codeLars Knoll2020-02-101-9/+1
| | | | | | | We don't support unsharable containers anymore. Change-Id: Ifafa1c9b4eb43d16b3866be3dd74dda1c592f084 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* don't limit QCryptographicHash to 2^31 bytes of inputLars Knoll2020-02-102-44/+58
| | | | | Change-Id: Icd43d3b387af9ef9e9b8adb9a6388c741949c9e8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTextBrowser: remove deprecated signal highlighted(const QString&)Vitaly Fanaskov2020-02-102-19/+0
| | | | | | Task-number: QTBUG-81845 Change-Id: Ibdb0fe40557b901596cc8ef37c9707f99b4df403 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QSpinBox: remove deprecated signal valueChanged(const QString &)Vitaly Fanaskov2020-02-1022-78/+34
| | | | | | Task-number: QTBUG-81845 Change-Id: I91148cac553f63b44968337ccc121e7376ee4465 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QComboBox: remove deprecated signalsVitaly Fanaskov2020-02-1023-77/+40
| | | | | | | | | | | The following signals have been removed: - void activated(const QString &); - void highlighted(const QString &); Task-number: QTBUG-81845 Change-Id: I61b552d9258987d4252202953aaf4909f9bd718e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QVector: implement methods for adding new elements constructed in placeVitaly Fanaskov2020-02-105-51/+328
| | | | | | | Fixes: QTBUG-80293 Change-Id: I687dc05a9ad2bad7bab3dc2b1173edf75550d57e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix typos in the documentation for Q_REVISIONUlf Hermann2020-02-101-4/+4
| | | | | | Change-Id: Ic55ab0dfca0f62e8d29a4e7d41384bed6fb1da62 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Don't rely on iterators being stable while modifying the hashLars Knoll2020-02-092-6/+9
| | | | | | | | | | | | | | | | | | | | The Mapping struct referred to where it got inserted into the source_index mapping table by a const iterator to the table. That is rather fragile, as changing the table invalidates the iterator. It happened to work with QHash in Qt 5, but will break with the new implementation in Qt 6. Instead simply store the key in the Mapping struct so that it can be quickly found in the hash. Also fix one place, where we unconditionally call erase on an iterator returned by constFind(). Turns out constFind() did sometimes not find the item in question and returns end(). Change-Id: I0420a06d496f640a3150478e8c644d4cc669ceff Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Blacklist tst_QGuiApplication::quitOnLastWindowClosedMulti on macOS in CITor Arne Vestbø2020-02-081-0/+3
| | | | | | Change-Id: I55cb9a6b3aebac68fb1b20127ba7aa501b4a3f2b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Use C++17 for qmake and force the build of everything with C++17Olivier Goffart2020-02-086-15/+13
| | | | | | | | | | | | | We will want to use C++17 code in our headers soon. (including the one in the bootstrap libraries) This patch is quick and dirty, I guess it will be cleaner once we move to cmake Updated QMAKE_MACOSX_DEPLOYMENT_TARGET because 10.13 runtime does not support C++17 stdlib features Change-Id: I75ac171436945dddd1bb953a9c8d323ac20da7ac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Introduce a configure-time check for C++17 filesystemMårten Nordheim2020-02-074-7/+24
| | | | | | | | | Various compilers have various fun ways of failing to compile when it is used so let's check if they will work properly during configure rather than much later. Change-Id: Ia93d4b91b3d269b4cab2a5f677c3c89e06b44ce3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* moc: Extend revision markers to allow for major and minor versionUlf Hermann2020-02-078-54/+124
| | | | | | | | | | | | | As we want Qt's own revisions to follow the Qt versioning scheme, we need to allow for the minor version to reset to 0 now. In order to facilitate this, we interpret the argument passed the current Q_REVISION macro as major version and allow for an optional minor version. Both are encoded it into the resulting revision number. Change-Id: I3519fe20233d473f34a24ec9589d045cdd162a12 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QtSql: remove deprecated signal 'notification(QString)'Christian Ehrlicher2020-02-072-22/+1
| | | | | | | | | It was deprecated in Qt5 and the replacement signal with three arguments can be used instead. Change-Id: I6d0db8d9fa9bea2039c548e32bc39a8173403c3a Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QtSQL: remove SQLite2 and TDS driver for Qt6Christian Ehrlicher2020-02-0720-2112/+8
| | | | | | | | | | They were deprecated in Qt4 (TDS) and 5.14 (SQLITE2) so they can be removed now in Qt6 [ChangeLog][QtSql] Removed obsolete TDS and Sqlite2 drivers Change-Id: I55118fb03106564d519a99ab55f9b5cf528179f3 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Replace the QMatrix field of QTransform with qreal[3][3]Jarek Kobus2020-02-076-391/+336
| | | | | | | | | | | Remove temporarily the reference returned by QTransform::toAffine() since we don't keep the QMatrix object internally anymore. This is done in order to compile the rest of the code. The follow-up patch is going to remove that method completely. Task-number: QTBUG-81628 Change-Id: If7140eedb7582d81ac8da529017cf792174e86ab Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge "Merge remote-tracking branch 'origin/wip/cmake' into dev"Alexandru Croitor2020-02-071825-1095/+72459
|\
| * Merge remote-tracking branch 'origin/wip/cmake' into devAlexandru Croitor2020-02-031825-1095/+72459
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Don't hardcode the library directory nameChristophe Giboudeaux2020-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | INSTALL_LIBDIR may point to a different directory than "lib". Contributes to QTBUG-81289 Change-Id: Ia8220515e3ee3703539aa28655e6c806736615ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Don't hardcode the binary directory nameChristophe Giboudeaux2020-01-312-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INSTALL_BINDIR may point to a different location than "bin". In order to avoid errors when trying to install qtbase, "bin" is replaced with "INSTALL_BINDIR" where necessary. Contributes to QTBUG-81289 Change-Id: I1d4f9fb2617547c9b0e44d6690caebb2b6768e2f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Add INSTALL_MKSPECSDIR to the install locationsChristophe Giboudeaux2020-01-313-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux distributions may want to install mkspecs files into a different subdir in order to make Qt6 co-installable with older versions. Contributes to QTBUG-81289 Change-Id: Ie4a64370d742948d5ca4f2eaed6ea550d2676707 Reviewed-by: Qt CMake Build Bot Reviewed-by: Christophe Giboudeaux <christophe@krop.fr> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Fix CMAKE_BUILD_TYPE to be force setAlexandru Croitor2020-01-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise CMake sets an up an empty default value itself, and then the value in QtBuildInternalsExtra does not end up being used, and then QtSetup ends up setting a Debug value. Amends 34a112e383d4ce3f6fe7417c1873fd3b33176032 Change-Id: If97a1d8c19ad5e7f690283997ff80dd9588cd521 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Post-merge fixesAlexandru Croitor2020-01-3023-88/+151
| | | | | | | | | | | | | | | Change-Id: I6acd29103f6cc550544e7422328d97ea0e2dcafb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-01-29432-2011/+12954
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/Qt5CoreConfigExtras.cmake.in src/corelib/Qt5CoreMacros.cmake src/dbus/Qt5DBusConfigExtras.cmake.in src/widgets/Qt5WidgetsConfigExtras.cmake.in Change-Id: Ib782f3b177c38b2cce83beebe15be9c0baa578f7
| | * | Append to AUTO_MOC_OPTIONS in order not override existing valueLeander Beernaert2020-01-291-2/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Id1bf607e31ee2baa5ffb6d6b4aedd98ea83e5e15 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Only add --automoc-json to AUTOMOC_OPTIONS for metatypes targetsLeander Beernaert2020-01-292-1/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I7c2e859a83ea78c2a6cf2ad59c175c1b29a74621 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Skip processing '-framework' flags in qt6_generate_meta_types_dep_fileAlexandru Croitor2020-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we get generation errors due to calling GENEX_EVAL on something that is an invalid target. Perhaps there will be a better way once https://gitlab.kitware.com/cmake/cmake/issues/20287 is fixed. Change-Id: I6af9511cbb9942b9edbc3b3fc7028936308715d8 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | 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>
| | * | Generate metatypes dependency fileLeander Beernaert2020-01-293-24/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to generator expression it is impossible to recursively evaluate the link dependencies of a target. This is required by QtDeclarative's qmltyperegistrar. To overcome this we generate a ${target}_metatypes_dep.txt file which contain lines with the following pattern: ${PATH_TO_METATYPES.json}=${PATH_TO_METATYPES_DEP.txt} This can be used to recursively evaluate the dependencies at run time. Change-Id: Ia4cee0632c16ba9631e0289db906fe9d320844a3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
| | * | Fix CMAKE_BUILD_TYPE to be a cache variable in QtBuildInternalsExtraAlexandru Croitor2020-01-292-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than pass the build type in the wrapper, make sure the build type is a cache var, so it gets picked up when building other repos. This reverts commit f72ca4cf853619efb99ab08da803536392229d37. Change-Id: I5d91ab66249b6c40c5e548b0eec0e467ba0f2ebc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * | configure: Add support for -feature and -no-feature for cmake buildsVille Voutilainen2020-01-291-0/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: I160a9513da0401f1c83598691294ec48737e08a5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Forward CMAKE_BUILD_TYPE, if available, in qt-cmakeLeander Beernaert2020-01-291-1/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I299e16cfc084b3fc009e806902e26121ebdd454b Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
| | * | Don't create convenience plugin target when not neededAlexandru Croitor2020-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the OUTPUT_NAME of a plugin is the same as the CMake target name, don't try to create a custom target with the same name. That will cause configuration errors due to duplicate targets. Amends f67d8ae2d4339c50cf0a4ca26f25c3afebc128ea Change-Id: Iaea7c68e22dbc1e345ba10950c312618abba4c21 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Relax rules about not having dbus sessionMichal Klocek2020-01-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some desktops do not run dbus session and still want to build qt. Change-Id: I898a3c25c9b47c1a953e426873280ab9e160c669 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Fix qt_import_plugins compatibility with Qt 5Alexandru Croitor2020-01-272-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle versionless plugin names passed to qt_import_plugins. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Change-Id: Ic7fb6e54d2822c7eb58a7874b4a1c137f0c101d9 Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | CMake: Add Qt 5 backward compatible CMake APIAlexandru Croitor2020-01-274-33/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create versionless function names, that coincide with the Qt 5 CMake API. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Change-Id: I8559b2c8a49b23e5a89ec81603aaec54ea634d70 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Regenerate plugin projects to get new target namesAlexandru Croitor2020-01-2766-302/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And also to get the original output names (qmake's "TARGET"), so that the plugin file names are as they were in Qt 5. Change-Id: I96a060d1a81693652847857372bec334728cb549 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@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-272-11/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | Add initial support for CMake "Ninja Multi-Config" generatorAlexandru Croitor2020-01-2712-16/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows doing debug_and_release builds with Ninja on all platforms. The "Ninja Multi-Config generator" is available starting with CMake 3.17. Desired configurations can be set via CMAKE_CONFIGURATION_TYPES. Possible values: "Release, Debug, RelWithDebInfo, MinRelSize". For example -DCMAKE_CONFIGURATION_TYPES="Release;Debug". The first configuration is the 'default' configuration which is built when calling ninja with no arguments. To build all targets of a certain configuration use "ninja all:Release" or "ninja all:Debug". To build all targets in all configurations use "ninja all:all". Note that the first configuration influences which configuration of tools will be used when building the libraries for all configurations. In simple terms, when configured with -DCMAKE_CONFIGURATION_TYPES="Release;Debug" the release version of moc is used by AUTOMOC. When configured with -DCMAKE_CONFIGURATION_TYPES="Debug;Release" the debug version of moc is used by AUTOMOC. Framework builds and Ninja Multi-Config don't currently work together due to multiple bugs in CMake, which ends up generating an invalid ninja file with duplicate rules. There are also issues with placement of the debug artifacts. This will be handled in a follow up patch after CMake is fixed. Task-number: QTBUG-76899 Change-Id: If224adc0b71b7d1d6606738101536146aa866cd7 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | Support for QML Type RegistrarLeander Beernaert2020-01-242-72/+43
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifc1f44cf40b22c20ab768333ba9d5ce58a5f7250 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Post Merge FixesLeander Beernaert2020-01-2463-319/+537
| | | | | | | | | | | | | | | | | | | | Change-Id: I1e06c01b76b119c3f23b6e6ecbaae8df719b70ce Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-242199-93647/+189249
| | |\ \ | | | | | | | | | | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| | * | | Fix dependencies for SIMD object libraries in macOS framework buildsAlexandru Croitor2020-01-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This manifested in Coin when ninja tried to build qdrawhelper_sse2.cpp before the Core framework headers were copied, resulting in a fatal error: 'qatomic.h' file not found. Make sure every SIMD object library has all PRIVATE dependencies of its parent library PRIVATE dependencies (except for other SIMD object libraries), to make sure that the framework headers are copied by the time the SIMD source file is compiled. Here's an example for clarification. Gui_simd_sse2's LINK_LIBRARIES property should have all the values of Gui's LINK_LIBRARIES property (like Qt::Core) filtering out all SIMD object library targets ( like Gui_simd_sse2, Gui_simd_sse3, etc). Thus we make sure the SIMD object libraries are built after Gui's dependencies are built. Note that using INTERFACE_LINK_LIBRARIES to avoid the filtering of SIMD targets in the generator expression would only work in shared Qt builds. In static Qt builds where PRIVATE dependencies become PUBLIC, CMake would insert $<LINK_ONLY:Gui_simd_foo> entries in INTERFACE_LINK_LIBRARIES which causes CMake to be confused and fail at generation time. Change-Id: I246c1394b9c9830c0ebd11e6621e56b992a6a1f2 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Fix qt-cmake.bat for paths with spacesLeander Beernaert2020-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id338f7f2f0392e2fe3933659af156644e8fac6c1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>