summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
Commit message (Collapse)AuthorAgeFilesLines
* fix tool invocation for -prefix + -framework builds on macxOswald Buddenhagen2012-10-291-5/+9
| | | | | | | | set DYLD_FRAMEWORK_PATH instead of DYLD_LIBRARY_PATH Change-Id: I9849f12063b8c7a45d040c087f4611c3a48180b8 Reviewed-by: Johanna Äijälä <johanna.aijala@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* redo QT_PLUGIN_PATH assembly for non-installed executionOswald Buddenhagen2012-10-291-7/+7
| | | | | | | | | it is a bad idea to extract plugin paths from library modules. instead, just collect plugin paths from all known repositories. Change-Id: I527325f20e9cf98ae974997530af1b2893537e5d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* escape constructed command for makefilesOswald Buddenhagen2012-10-261-2/+5
| | | | | Change-Id: Iec7f2bd7b02d03bf6a99dde363a41578924e523c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Refactor recursive target logic out of default_post into functionTor Arne Vestbø2012-10-181-0/+26
| | | | | | | | | The qmake function prepareRecursiveTarget can now be used both by the existing logic in default_post, as well as future recursive targets that will be needed as part of the modularization of documentation builds. Change-Id: Ibc72c3e224cb57c9f1796de3b04fda9de663dbb4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix accessing the rpath dir from included modulesRomain Pokrzywka2012-09-281-1/+1
| | | | | | | The wrong variable was used when reading the module settings Change-Id: If35dc9694240a68393b24d7dba72520108cb9ac3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* factor out qtAddTargetEnv()Oswald Buddenhagen2012-09-191-0/+31
| | | | | Change-Id: Ib0517da54da98de4b1f2ee7d80bee22316231091 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* factor out qtAddToolEnv()Oswald Buddenhagen2012-09-181-0/+20
| | | | | | | so it's available for other users as well Change-Id: I2d5a14ae427575c07321ac532b13ee03308b837f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove 3rd parameter from qtPrepareTool()Oswald Buddenhagen2012-09-181-6/+1
| | | | | | | it's been superseded by the QTTOOL.* module stuff. Change-Id: I01c9fc3ebbb22111bfb03f82693c7cf08b5fc9d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use each module's lib_bundle settingOswald Buddenhagen2012-09-071-1/+1
| | | | | | | | | ... instead of relying on the global qt_framework flag. Change-Id: Ie23f55788c26d732ada87aab7284c0a1fe0bfa28 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make .private_includes in module pri files "self-contained"Oswald Buddenhagen2012-08-151-7/+1
| | | | | | | | this puts the whole logic of assembling those paths into qt_module. Change-Id: Iafbe3969e3092e294bdb8243b2dffa7a899a7eb8 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* support -rpath for modules which are not installed to QT_INSTALL_PREFIXOswald Buddenhagen2012-08-111-0/+7
| | | | | | | | | | | | | a module's project file may set MODULE_INSTALL_LIBS before loading qt_module.prf to have an alternative RPATH linked into the users of that module. this is relevant only for linking against non-installed -prefix builds of that module, as otherwise .libs from the module's pri file is used for rpath. Change-Id: Ib240e748cf130a71a5991dc643c368a983092ead Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix -rpath-link handling for non-installed prefix buildsOswald Buddenhagen2012-08-111-7/+10
| | | | | | | | | forwarding module pris get rpath_link{,_private} fields, which are used accordingly by qtAddModule(). Change-Id: I0abc2dc8b1e8744dbf7f439aa7fed9ae159c2c74 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qtAddModule(): put search paths directly into LIBS{,_PRIVATE}Oswald Buddenhagen2012-08-111-7/+12
| | | | | | | | | QMAKE_LIBDIR and QMAKE_FRAMEWORKPATH have the downside that they always effectively end up in LIBS, which makes for weird prl files. Change-Id: Iaf61b0038504ff91ae5ec7f9b1255fe3a2d134f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* assemble the complete tool commands already in qt_tool.prfOswald Buddenhagen2012-08-111-24/+2
| | | | | | | | this saves some repeated calculations. also, it's nicer to have most logic in one place. Change-Id: Iea362d40f5e6203709ced94d29ca61a4163b8e69 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix error message about bad qt modulesOswald Buddenhagen2012-08-111-1/+1
| | | | | | | the variable name is a function parameter now Change-Id: I46f3ce37c157312e7f70291a0cef2d666d50664c Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* adjust qtAddLibrary() to new qtAddModule() parametersOswald Buddenhagen2012-08-081-1/+1
| | | | | Change-Id: Ib5918fa83e78d16fd318590c33b280d9054b2cd6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* add support for QT_PRIVATEOswald Buddenhagen2012-08-071-2/+41
| | | | | | | | | | | | | | | | this is handled the same way as the QT variable, only that the actual libraries end up in LIBS_PRIVATE, not LIBS, which means they don't end up in prl files. the handling of the two variables is entirely independent, including independent dependency resolution, so some libraries will typically end up twice on the linker command line. this is not a problem. Change-Id: I257ad0d414bf273c08a7bd6a874fe9ddb7356009 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* use QMAKE_LIBDIR for passing LSB library pathOswald Buddenhagen2012-08-041-1/+1
| | | | | | | -L in QMAKE_LFLAGS is just wrong Change-Id: I05eae0bb5e5e3dc8f8234616cb2ccdfba1d517fb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix host vs. makefile directory separator messOswald Buddenhagen2012-07-281-2/+2
| | | | | | | | | | | | | | | | | the system path separator and shell are bound to the host system (system() will use cmd even on mingw with sh.exe in path). the makefiles otoh may depend on what the qmakespec defines. consequently, add $$system_path() and $$system_quote() (for use with system() & $$system()). $$native_path() is renamed to $$shell_path() and should be used with $$shell_quote() to produce command lines in makefiles. $$QMAKE_DIR_SEP needs to be applied to Option::dir_sep right after parsing the spec, so it is available to $$shell_{path,quote}(). Change-Id: If3db4849e7f96068cf03a32348a24f3a72d6292c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* make the prl lookup search in standard locationsOswald Buddenhagen2012-07-121-4/+2
| | | | | | | | | | | | qtAddModule() skips adding standard library paths to LIBS. however, as processPrlFiles() didn't know anything about that, it would not find the prl files of qt libraries in these paths. so centralize the definition of these default paths (we should actually ask the linker for them) and use it in both places. do the same for the include paths for symmetry. Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix linking against installations in /usr/libOswald Buddenhagen2012-07-101-2/+2
| | | | | Change-Id: I17a6a2e058f039e525461d459477329fd7090417 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* deal with %PATH% containing parenthesesOswald Buddenhagen2012-07-091-1/+2
| | | | | | | | we need to make cmd escape the expanded output, so it doesn't confuse its own command line parsing (which happens later!). Change-Id: I0c2c71d276c0aebe3c2163f7f08db8050a14d7ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* make non-bootstrapped non-installed prefix-built executables runnableOswald Buddenhagen2012-07-051-15/+38
| | | | | | | | | tools like idc and lrelease are outside qtbase/bin and depend on libraries which are not in any search path, so we need some way to let the modules announce the locations (qt_tool.prf) and use it (in qtPrepareTool()). Change-Id: I98d5109cbee5e745d86dde94e3dc791d42edc3ec Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Fix FRAMEWORK_INCLUDE for MacIikka Eklund2012-07-051-1/+1
| | | | | | | | | | | | On Mac the framework include paths were generated wrong. The $${MODULE_NAME} was missing. This patch fixes the framework include path generation. Change-Id: Ic0e8d69ac7ac63be755302dc822c28240c9bc3d2 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make using testlib automatically "promote" all modules to -privateOswald Buddenhagen2012-06-261-1/+1
| | | | | | | | | | | | autotests often need private headers (especially with qpa headers now being private) and have no compatibility requirements, so it makes sense to just use the privates of requested modules. this also suppresses the useless warning about using privates, in case they are still explicitly specified. Change-Id: I9e499bedcf6ef25777283ff1432cef7254e9093a Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* remove detection-based usage of modules which are frameworksOswald Buddenhagen2012-06-191-11/+0
| | | | | | | | each qt module comes properly declared and located, so there is simply no point in performing a search. Change-Id: I86fad21bb8e128b85f1000cc116cc44a23642eb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix direct includes from modules which are frameworksOswald Buddenhagen2012-06-191-1/+1
| | | | | Change-Id: I1f2c1e5ebdb2fa258500a08b32dcafb4150ee424 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* always add library path from moduleOswald Buddenhagen2012-06-191-3/+3
| | | | | | | | that way we can theoretically support modules outside $QTDIR. also, it's just cleaner. Change-Id: I6139ebc7328b64ace8552b3e54f9a8c69248ceec Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make module includepath addition less convolutedOswald Buddenhagen2012-06-191-12/+11
| | | | | | | | | | | | | | | | | | don't prepend the paths, as this will only mess up building of subsequent modules (e.g., building qtdeclarative against an installed qtbase would pick up the headers from the qtdeclarative previously installed into the same directory as qtbase). for frameworks this was a rather pointless exercise in the first place, as their headers are properly isolated anyway. however, make sure that we don't add system locations to the search paths, as this is a) unnecessary and b) messes up subsequent libraries in non-standard locations which want to shadow versions in standard locations (pkg-config .pc files which add standard paths are considered broken as well). Change-Id: Ie1dc65d4767e98e1df6e49012505141935a6c704 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make qtAddLibrary() a noisy compat wrapper for qtAddModule()Oswald Buddenhagen2012-06-191-46/+10
| | | | | | | | it's used by people (in particular, qt creator), so it would be not nice to just delete it entirely. Change-Id: I6bd849d00ebfe3b9b126e01a6d1c6e7c6584d8ac Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make use of $$[FOO/get] propertiesOswald Buddenhagen2012-06-191-2/+1
| | | | | | | | this cleans up a lot of hacks supporting the build of qt, including the last bits of $QTDIR. Change-Id: Id119886ed8097967dad6cf86ebd4e71d90c42841 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* let qtPrepareTool give right path for app_bundleBai Jing2012-03-261-0/+6
| | | | | Change-Id: Ieb4979244d741c9d9d0c11a035c18ced87ea28f5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Do not add -rpath-link directives with no library pathSean Harmer2012-03-121-3/+5
| | | | | | | | Doing so works fine on Linux as g++ version there silently ignores this. However, the qcc toolchain for QNX barfs. Change-Id: Ia236910adc09dc1653e4169e20476b69c2de62ab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* replace uses of QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT with module-specific ↵Oswald Buddenhagen2012-03-081-1/+1
| | | | | | | variables Change-Id: Id410887fa97f345a229e0cbf395633ccf303fa2f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* revamp -sysroot and -hostprefix handlingOswald Buddenhagen2012-03-011-2/+2
| | | | | | | | | | | | | | | | | instead of being a variable added to the makespec (via qconfig.pri), QT_SYSROOT is now a property. the QT_INSTALL_... properties are now automatically prefixed with the sysroot; the raw values are available as QT_RAW_INSTALL_... - this is expected to cause the least migration effort for existing projects. -hostprefix and the new -hostbindir & -hostdatadir now feed the new QT_HOST_... properties. adapted the qmake feature files and the qtbase build system accordingly. Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Set QMAKE_*_VERSION_OVERRIDE for all modules.Rohan McGovern2011-12-071-0/+11
| | | | | | | | | | | | | | | | | | | On Windows, qmake searches for and uses the highest numbered available version of each requested library, or a version with no number if no libraries were found. This meant that qmaking a library's consumer before qmaking the library itself could result in the consumer incorrectly attempting to link against $${LIB}.lib rather than the correct $${LIB}5.lib (for example). QMAKE_$${LIB}_VERSION_OVERRIDE is the way to work around this. Previously, a hardcoded list of libraries had version overrides set up on Windows, but the qmake order issue affects all libraries, not just these. Therefore, handle it for all modules. Change-Id: I83b4646e3819f525193d1fc065b0d0e65b3be99f Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make v8 snapshots work in debug-and-release modeKent Hansen2011-11-241-8/+14
| | | | | | | | | | | | | Debug snapshots and release snapshots aren't compatible. Both a debug version and release version of the mkv8snapshot tool must be built, and the corresponding executable selected when building v8. Adopt the library naming convention for naming the mkv8snapshot executable ("mkv8snapshot" in release, "mkv8snapshot_debug" in debug on Mac, "mkv8snapshotd" in debug on Windows). Change-Id: I7a94b09e7db7ed8bbaa293637c092a1d1d1dbaba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qmake: remove symbian supportJoerg Bornemann2011-11-071-27/+0
| | | | | Change-Id: I1db834500921681676a6f46e7750bdd81bf0093d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make pkg-config cross-compile awareHarald Fernengel2011-10-191-2/+21
| | | | | | | | Introduce PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR for cross-compilation environments Change-Id: I859d55f125b18d6bdef0f1dfaeb43721b85d22f5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Mac: fix linking with Qt frameworks which don't exist at qmake timeRohan McGovern2011-09-171-3/+14
| | | | | | | | | | | | | | This restores the forced-vs-detection logic for Qt frameworks which was removed by commit ceed409b40fd5b8fe5c62ac33144e66f50b28ede. The problem of linking against Qt modules compiled as a static library is solved a different way: the module must explicitly state in the module .pri file that it is built as a static lib. Change-Id: Ie3d726f7b3933e5b5d27f15c6112ec1c7dee1ea2 Reviewed-on: http://codereview.qt-project.org/5034 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Mac: make platformsupport a static libMorten Sorvig2011-09-011-16/+7
| | | | | | | | | | | | | | | The "force framework/no-framework" logic does not really work, since Qt is now a mix of frameworks and statics libs. Remove this code path and use the "detection" path instead. Also remove the exports from platformsupport. Change-Id: I0a308666480445eb47c4f443ff7529addecad10d Reviewed-on: http://codereview.qt.nokia.com/3464 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix non-installed library detectionMarius Storm-Olsen2011-07-211-1/+1
| | | | | | | Change-Id: I1eb8337bebb524b9f02aef63cd42efcb4a9211bc Reviewed-on: http://codereview.qt.nokia.com/1759 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Support -debug build on MacLiang Qi2011-06-201-1/+1
| | | | | | | | | -Wl,-rpath-link is expected to work for all gcc except mac. Change-Id: I4b57e0088db49a8e35840d981e5d6edbb1012396 Reviewed-on: http://codereview.qt.nokia.com/506 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Move private headers into versioned subdirectoryMarius Storm-Olsen2011-05-021-5/+19
| | | | | | | This will allow us to expose private headers in a controlled manner, and ensure that they are not used by accident. This also means that we internally will have to enable the private headers for the modules we wish to use in the project.
* Use the MODULE_LIBS instead of QMAKE_LIBDIR_QT for frameworks.Prasanth Ullattil2011-04-271-2/+2
|
* Fixed a bug in libdir handling.axis2011-04-271-1/+2
| | | | | We need to use QMAKE_LIBDIR instead of QMAKE_LFLAGS and -L, because MSVC does not understand -L.
* Make each module refer to its own bin/Marius Storm-Olsen2011-04-271-3/+6
| | | | | | | Since modules cannot rely on QtCore having a build directory, nor can they build the applications directly into $$[QT_INSTALL_BINS] each module needs their own bin/. Add this path to each module's pri file, so others can use their applications
* Make qt.prf use new qt_module.pri structure for QT variableMarius Storm-Olsen2011-04-271-0/+63
| | | | This change requires the new resolve_depends(var, prefix) function in qmake.
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+124
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12