summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qmake_use.prf
Commit message (Collapse)AuthorAgeFilesLines
* Revert "configure: actually resolve libraries into full filepaths"Joerg Bornemann2019-09-131-0/+2
| | | | | | | | | | | | | | | | | | | | This reverts commit 521a85395da1a2728902816c072ec46bcb0ad380. Having libraries resolved to absolute file paths by configure has annoying consequences: 1. The Qt installer needs to unabsolutify paths in all kinds of files. This is error-prone and fragile. 2. It hurts Qt's relocatabilty. The absolute paths are unlikely to be right on different systems. 3. Qt's configure must imitate linker behavior correctly to do the resolution right on every platform, which is hard to get right. Consequently, the disadvantages of 521a8539 outweigh the advantages. Task-number: QTBUG-72903 Change-Id: I3e159c46a1348963615b95614e56f026ecb2aefd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-1/+5
| | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* configure: normalize dashes to underscores in exported librariesOswald Buddenhagen2018-12-191-3/+3
| | | | | | | it works without it, but technically speaking it's undefined behavior. Change-Id: Icdcdd5b923ce4cecd9dc9e75f9d5d66d0fa8a032 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* add support for transitive deps to QMAKE_USEOswald Buddenhagen2018-12-071-12/+20
| | | | | | | | | | | | | | | | | | | we already knew the dependencies (as they are declared in the json files), but failed to export them in any way, which made linking against statically built external deps which have deps in turn fail (unless the project happened to pull in the dep anyway, as is the case with qtcore + zlib). the previous assumption was that the USE-able library objects would be self-contained, but that is conceptually unclean. instead, properly export the raw dependencies and resolve them only in qmake_use.prf. note that pkg-config produces self-contained output, so we need to actively subtract the dependencies we know. Change-Id: I4b41a7efc05bbd309a6d66275d7557a80efd5af4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: actually resolve libraries into full filepathsOswald Buddenhagen2018-12-031-1/+0
| | | | | | | | | | | | | | this considerably speeds up failures, as no doomed build is attempted, and produces more reliable results, as no second lookup (which would be subject to environment changes) is done any more during the build. in principle, this also opens up possibilities like selecting specific variants of dependencies, automatically extracting rpaths, etc. qt_helper_lib.prf also needs to create fully resolved library names now. Change-Id: I65f13564b635433030e40fa017427bbc72d1c130 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* fix usage of "empty" librariesOswald Buddenhagen2017-02-221-14/+8
| | | | | | | | | | | | | a header-only library in a default location would produce no variables at all, making it appear undefined. fix this by forcing the writeout of the QMAKE_LIBS_* variable, and use its definedness (rather than non-emptiness) as a signifier. this works for both QMAKE_USE and configure tests'/libraries' 'use' entries. Change-Id: Id7a1e23725caba1a91ea4db448b4aeb7fe632393 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* make QMAKE_USE obey QMAKE_LIBDIR_*Oswald Buddenhagen2016-11-161-1/+4
| | | | | | | | | | | | this is complementary to configure's makeSpec library source type. this should be sufficient to make QMAKE_USE += {egl,opengl,opengl_es2} actually work, obsoleting the need for opengl.prf and egl.prf (and the currently dysfunct openvg.prf). Change-Id: I2f7595ac89afa087ea7f0f25060e8e47e6148be9 Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make sure flags from library detections go to the right placesThiago Macieira2016-10-101-4/+5
| | | | | | | | | | | | | | | | | Split them and add -I flags to INCLUDEPATH and -D flags to DEFINES. Anything else gets reported as a problem and dropped. This has the benefit that qmake will automatically use -isystem for those paths if they lie in a system directory. As a consequence of that, we won't get any warnings in headers located there. There are multiple cases of glib, gtk, etc. headers producing warnings (such as enums ending in comma). This does not fix warnings produced by use of macros declared in system headers, though... Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: I4b844cb518dbae5ea499811221f9015af985110a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make QMAKE_USE parameterizableOswald Buddenhagen2016-10-041-4/+9
| | | | | | | | | | | it's now possible to declare references which don't cause linking (or cause only linking). make use of this in the xcb-static library. Change-Id: Ic429e0a1200b3a333738ea8d8e576ff64b6cac21 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* factor out QMAKE_USE* processing to a separate prf fileOswald Buddenhagen2016-10-041-0/+22
this makes it possible for features added via CONFIG to use QMAKE_USE*, as default_post.prf is processed before all features in CONFIG. Change-Id: Id0812a0fb1aa5e658548bd2bc6003234085545e7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>