summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_helper_lib.prf
Commit message (Collapse)AuthorAgeFilesLines
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-13/+20
| | | | | | | | | | | | | | 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-1/+2
| | | | | | | 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-0/+13
| | | | | | | | | | | | | | | | | | | 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-4/+15
| | | | | | | | | | | | | | 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-0/+1
| | | | | | | | | | | | | 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>
* fix debug-only builds on debug-and-release platformsOswald Buddenhagen2016-11-071-4/+7
| | | | | | | | | | this actually affects only non-framework Darwin builds - debug-only framework builds are impossible, and Windows is always debug-and-release. Change-Id: Ia79dbbefc5750168ebd8967fe4afbe173f55a0d6 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Get rid of simulator_and_device CONFIG option (mostly)Oswald Buddenhagen2016-10-161-1/+0
| | | | | | | | | | | | | | | | A separate flag is no longer needed now that simulator and device builds are not exclusive any more (*) - both 'simulator' and 'device' being set at the same time is a sufficient indication (uikit/default_pre.prf sets this up according to the simulator_and_device feature and the QMAKE_MAC_SDK variable). (*) xcodebuild mode actually still uses exclusive builds, but this is activated locally in uikit/default_post.prf, and uikit/xcodebuild.prf implements the actual build passes manually anyway, so this change does not affect it. Change-Id: Idf173a7bfeb984498d3a49ed6b8d1a16da6c2089 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* use helper libs via QMAKE_USEOswald Buddenhagen2016-10-151-0/+25
| | | | | | | | | | | | | | | | | | | | for that, qt_help_lib.prf gains the ability to write "external module pri" files that contain suitable information for QMAKE_USE. these files have a bunch of limitations: - they are not installed, because a) they are not relocatable and b) the helper libs' headers are not installed, either - it won't work with qmake -r, which is ok, as qt5 does not build with qmake -r anyway - deps are not transitive, neither at build nor at use time the freetype, harfbuzz-ng, pcre, and png helper libs have been adjusted accordingly, and their uses replaced with QMAKE_USE instances. this also allowed inlining the now trivial {harfbuzz,pcrc,png}_dependency.pri files. freetype_dependency.pri remains due to its funkiness. Change-Id: I16890eecb122e34ec49f3d3e68380d1ea71a198a Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Use qtConfig throughout in qtbaseLars Knoll2016-08-191-4/+4
| | | | | | | | | | | Use the new qtConfig macro in all pro/pri files. This required adding some feature entries, and adding {private,public}Feature to every referenced already existing entry. Change-Id: I164214dad1154df6ad84e86d99ed14994ef97cf4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-231-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/angle/src/libGLESv2/libGLESv2.pro src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp Change-Id: If8da4cfe8f57fea9f78e7239f378a6302c01674e
| * limit installation of ANGLE translator and preprocessor helper librariesOswald Buddenhagen2016-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | libGLES2 (the only user of these libraries) is built dynamically even in a static qt built when dynamicgl is configured. in this case the static libraries need not be installed. amends 2311997. Change-Id: Ic9bc3937d6ee0d97e0ca7fc96596fa90ebfe8710 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | fix logical mismerge from 5.6Oswald Buddenhagen2016-06-171-1/+1
|/ | | | | | | | iphonesimulator_and_iphoneos was renamed to simulator_and_device in 5.7. Task-number: QTBUG-54163 Change-Id: If4a76f45450edc0f6e8fb3615355613212314300 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* fix ios device&simulator builds againOswald Buddenhagen2016-06-101-1/+3
| | | | | | | | | | | | | the assumption stated in b67a0836d is actually invalid - configure sets build_all without debug_and_release there. debug_and_release does actually imply build_all, though. to make things less confusing, don't let configure inject iphonesimulator_and_iphoneos into all projects, but handle it like debug_and_release instead. Change-Id: Ib7acdc63308a538862fc603428f81aba60bca08e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-191-0/+1
|\ | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
| * make zlib_dependency auto-add QtCore as a private depOswald Buddenhagen2016-05-091-0/+1
| | | | | | | | | | | | | | | | our zlib header includes qglobal.h, so we need the qtcore include dirs, and qtcore is also where the actual code is compiled into. Change-Id: I09f530a1b4e6160438215a6d7223c0771ce94f05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QT_CONFIG simplification re debug_and_release and build_allOswald Buddenhagen2016-05-171-2/+1
|/ | | | | | | | don't pretend that these two flags can be set separately - the configures set them in tandem. Change-Id: Ib0beae0152de09026d4627fd3ae0feabd9ce1b81 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* load qt_common in qt_helper_libOswald Buddenhagen2016-02-191-0/+3
| | | | | | | | | | | | | | this has multiple consequences: - we do sane DESTDIR replacement for debug_and_release builds, fixing QTBUG-47313 - we don't create debug/release subdirectories, fixing QTBUG-47639. this only makes sense given the complementary call of $$qt5LibraryTarget() - we patch up the .prl files upon installation Task-number: QTBUG-47313 Task-number: QTBUG-47639 Change-Id: Id409bbd26781a773409b94835ab6b97e71569322 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* restore qt4's qtLibraryTarget() behaviorOswald Buddenhagen2015-03-051-1/+1
| | | | | | | | | | the function is used in our examples and code generated by qt-creator, so the qt5-specific magic behavior is inappropriate. create a separate function instead. Task-number: QTBUG-44595 Change-Id: I4d72cc1e5cbfc274b3210520baa213f4c5479ca9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix too aggressive installation of helper librariesOswald Buddenhagen2014-05-201-3/+3
| | | | | | | | | | | of course all helper libraries are built statically, so the criterion is not useful. what is interesting is whether the whole qt configuration is static, as that determines what will happen with the helper library when linking the final "actual" artifacts. Change-Id: I96980c645cb478b2f7a30688b49cb51bec8c9f08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* install convenience libraries when building staticallyOswald Buddenhagen2014-04-281-1/+3
| | | | | | | | | | | | we don't link static libs into other static libs, so the intermediate libs need to be installed and resolved at app link time. Task-number: QTBUG-32519 Change-Id: I0558140f98a6938b03306df7f800d66f8a19a7cd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* centralize auxiliary lib creationOswald Buddenhagen2014-04-281-0/+25
this covers convenience libraries which are linked into dlls (if we are not building statically) and "proper" (installed) builds of 3rdparty code. Change-Id: I2f00248c0baa0e73346e477724bf49bbc62ba925 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>