summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
Commit message (Collapse)AuthorAgeFilesLines
* remove vestiges of .private_dependsOswald Buddenhagen2015-05-221-2/+2
| | | | | | | amends 16f4bc5b6. Change-Id: I5a9acb2fb57e92a152656be196e55c830031988e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-5/+11
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * restore qt4's qtLibraryTarget() behaviorOswald Buddenhagen2015-03-051-5/+11
| | | | | | | | | | | | | | | | | | | | 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>
* | Qmake: Add newly detected OSX framework paths also if they don't existUlf Hermann2015-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | When building a module for the first time the paths won't exist as they are only created when you run "make". However, if you run qmake with '-r' you need the compiler flags to be available already before that. Task-number: QTBUG-43175 Change-Id: Ib784c432f29bb8c62b9ef23e59ccb515e1d96f28 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | make use of qtAddToolEnv() in pkgConfigExecutable()Oswald Buddenhagen2015-02-121-9/+5
| | | | | | | | | | Change-Id: I60e86ac869f670258c82520072836cdfff3b2dc2 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | add value quoting to qtAddToolEnv()Oswald Buddenhagen2015-02-041-1/+2
| | | | | | | | | | | | | | | | | | for sh, this is usual quoting. for cmd, this means escaping closing parens - everything else is permitted anyway. Change-Id: I1179849d95f1f1f9e4b0d62ecd88917a1327f60f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Haiku: Add support for Haiku to build systemTobias Koenig2014-12-211-0/+2
|/ | | | | | | | Change-Id: I12afaeb53a7f35c3f02776d28dad96107f3c5819 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix linking of sources without LTCG to a static lib with LTCGThiago Macieira2014-12-011-0/+1
| | | | | | | | | | | | | | | | | | | | Whenever a binary is created and linked against a static lib that was compiled with LTCG, the final linking step requires the compiler flags so that the pre-compiled data in the shared library can get properly compiled. This could happen for a static build of Qt with LTCG, but also happens frequently for Qt's own build when linking regular libraries and applications against QtBootstrap or QtPlatformSupport. The linking fails when the target is a shared library (example: QtWaylandClient linking against QtPlatformSupport). The .prl file actually contains the "ltcg" flag, so the best solution would actually be to process that flag there and add link_ltcg if any dependent .prl has "ltcg", but I couldn't find out how to do that. Change-Id: I4a75a14d1dcb8c2089a427285e25d5555df7d7d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* use correct quoting style when running syncqt under mingwOswald Buddenhagen2014-09-301-6/+8
| | | | | | | | | | to this end, add a mode to qtPrepareTool() which prepares the primary variable for system() use (instead of use in makefiles). Task-number: QTBUG-41032 Change-Id: If6aa6c206a70ecdbc2ea05bbb3cb470414fb02b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use Qt's major version in the library prefixJocelyn Turcotte2014-09-101-5/+3
| | | | | | | | | | | | | | | | | | | | | | | This follows the discussion at: http://lists.qt-project.org/pipermail/development/2014-June/017225.html Qt WebEngine will have a version of 1.0 when released with Qt 5.4. The library name is currently libQt1WebEngine.so.1.0.0 but it should rather be libQt5WebEngine.so.1.0.0 to represent Qt's major version releases as a whole and not the major version of the module. This prefix essentially expresses the module's dynamic linking compatibility with other Qt modules. This only makes sense if each major module release will be compatible with a single Qt major version only. All published modules currently already have 5 as their major version, except qtenginio which doesn't use a Qt prefix, so this change has no effect except for qtwebengine. Task-number: QTBUG-30910 Change-Id: I894e7a367624c7fc263cf08104173a82eafd1439 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix/optimize QT_PLUGIN_PATH construction in qtAddTargetEnv()Oswald Buddenhagen2014-06-051-8/+12
| | | | | | | | | | | | | instead of adding all possible plugin paths (for which QMAKEMODULES wouldn't have been a reliable source anyway), only add the paths of plugins of the necessary types. this necessitates that we create qt_plugin_<foo>.pri files also in shared builds of qt when making a prefix build. we don't install them unless it's a static build, though. Change-Id: Ib56b009562a7131d4dc4dfc259b34ec6581b0f77 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix quoting and path separators in qtPrepareTool()Oswald Buddenhagen2014-05-231-10/+14
| | | | | | | | | | | | | | | we need to store commands with system path separators in the .pri files, as we might clobber windows command arguments if we just converted separators later on. and we can actually do that, as the path separators are actually bound to the host system, not the shell. we also need to shell-quote the commands, as whitespace, and more commonly windows path separators in an msys shell, would break things. we delay this to the last moment possible, as it does depend on the shell. Change-Id: I1fe6b63aebd5663b72492c32928ec397f86e336f Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* untangle use of system vs. shell path(-list) semanticsOswald Buddenhagen2014-04-301-1/+1
| | | | | | | | | | | | | | | "system" refers to the system's native shell, which is what qmake's system() invokes, and whose convention by far most commands invoked from a makefile will need. "shell" refers to the shell invoked by make, which diverges from the system shell only when qmake/mingw32-make is called from an msys shell. its conventions need to be used for anything the shell itself does (e.g., assembling env variables, but also command line argument unquoting) and the commands the mkspec sets according to the shell (e.g., QMAKE_MOVE). Change-Id: I0000aa9417c199cf8a810619d31ded24bb0675f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* iOS: Build simulator libraries with suffixTor Arne Vestbø2013-10-301-3/+8
| | | | | | | | Makes it possible to join two separate builds, and opens up for using exclusive builds to do this. Change-Id: I87ccbdd55511fdfbef3fe8b581f40525ebf077ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* support cleanly querying private modules in qtHaveModule()Oswald Buddenhagen2013-10-251-1/+1
| | | | | | | | module names use dashes, but the internal module representation uses underscores, so we must translate. Change-Id: Ib6983d3731e7dae2a4d6232f8a5202390fd425e9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* rewrite handling of private modulesOswald Buddenhagen2013-10-241-63/+59
| | | | | | | | | | | | | | | | instead of being magic attributes of the main modules, the privates are now proper modules of their own. this cleans up some code paths, is more mappable to other build tools, and enables private modules to depend on other private modules. note that the library path is needed even in the "empty" private modules, as in the framework case that's where headers are found. consequently, the modules need to be explicitly marked with the new "no_link" flag. this required some reorganization of qtAddModule(). Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* purge auto_use_privates module optionOswald Buddenhagen2013-10-241-4/+3
| | | | | | | | it was introduced as a hack to simplify writing tests, but the change to make use of it was backed out of testlib and nobody seems to care. Change-Id: Icc86621b865276e86593afdb923247bbdca19d49 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* return()-related break() insanity is not necessary in qt5Oswald Buddenhagen2013-10-231-1/+1
| | | | | Change-Id: I593c7160e44d51d25dee76c56c2e5580345ab42a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't suggest to use qtAddModule(), it's internal APIOswald Buddenhagen2013-10-231-1/+1
| | | | | | Change-Id: Idf01d0dd74a0708014b7fca33611535c604a75f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-071-0/+1
|\ | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| * export QT_TOOL_ENV to the tool module pri fileOswald Buddenhagen2013-08-271-0/+1
| | | | | | | | | | | | | | | | fixes "make ts" in qttranslations in a non-installed prefix build. amends 13e01fda1 Change-Id: I2547d825c1c71e42fdacab5edaace67247ef69e7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-211-0/+5
|\| | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| * suppress error output from pkg-configOswald Buddenhagen2013-08-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | under normal circumstances, any errors will be noticed already by the pkg-config --exists call, which is silent anyway. therefore this doesn't change anything in normal qmake usage. however, lupdate's and creator's evaluators skip the --exists calls and subsequently invoke the normal query, which then prints useless noise to the terminal. Task-number: QTBUG-28159 Change-Id: I536412060f3830aafeb0587f855cd6af11227bca Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | don't include non-framework include paths when using frameworksOswald Buddenhagen2013-08-201-5/+4
|/ | | | | Change-Id: Ia72d5b611b9870b83846299bc7642841b09b84b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make requirement for -private suffix explicit, take 2Oswald Buddenhagen2013-07-051-1/+1
| | | | | | | | | | the previous attempt broke ActiveQt, as it actually has public modules without headers (they are provided by a common base module). so explicitly mark the internal modules as such instead of applying heuristics. Change-Id: I8d8a2ee66f02c3444da2036a497e7f382f089f62 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge branch 'release' into stableSergio Ahumada2013-07-031-0/+3
|\ | | | | | | Change-Id: I982a86e1b99e3ae629e8c5667bc7bdf9f4018b2e
| * make requirement for -private suffix explicitOswald Buddenhagen2013-07-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | if a private module was used without the suffix, it would not add any include paths, but the library would be still added. as long as the includes were written as <Module/private/Header>, this would not become visible, as the public modules would add the common include path ... however, this soon won't be the case for mac frameworks any more. this change makes the problem visible early on. Change-Id: I8b1a20313ad736cb49507f07fa623e9aa812f651 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-251-6/+6
|\| | | | | | | Change-Id: I4c0ae2ac1c10d4d50c03625c802d981b7850ed6f
| * install private headers into frameworksOswald Buddenhagen2013-06-251-0/+4
| | | | | | | | | | | | Task-number: QTBUG-31641 Change-Id: Ifadc380c0a8983b2be93194e2e2257494b13dff8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * un-nest conditionalsOswald Buddenhagen2013-06-251-3/+1
| | | | | | | | | | | | | | | | it's cleaner, and it makes it possible to actually have a single else branch. Change-Id: I5ef917b678e2bd5a2face8ee19e942e5e952aa80 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * mac framework build: always set QMAKE_FRAMEWORKPATHOswald Buddenhagen2013-06-251-3/+1
| | | | | | | | | | | | | | | | | | | | | | don't mess with the -F linker flag manually. qt headers include other headers via the canonical Module/Header syntax, which means that the compiler also needs the -F flag. QMAKE_FRAMEWORKPATH does exactly that. Task-number: QTBUG-29003 Change-Id: I5f4af1a462697cd6996c54436ccdb9fc2b216020 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-201-12/+33
|\| | | | | | | Change-Id: I94bb158562ae6b80a87b40139d7302ea7b9b9aa8
| * fix LD_LIBRARY_PATH manipulation in uic calls not being make-escapedOswald Buddenhagen2013-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | the evaluator has the bug that function arguments are inherited. work around that by passing an explicitly empty 3rd parameter to qtAddTargetEnv(). proper fix upcoming in less critical branch. Change-Id: Ic45cc890abaa6271985590d4ebe02c96bff6dec4 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix rcc & uic .depend_commandsOswald Buddenhagen2013-06-151-7/+26
| | | | | | | | | | | | | | | | | | | | unlike the .command, the .depend_command is not executed by make via its chosen shell, but qmake itself via the system's native shell. consequently, it needs different path separators and no make-escaping. Task-number: QTBUG-31289 Change-Id: I480f815753632db6e8d4725f463f8a1fc59680a6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * always $-escape make commandsOswald Buddenhagen2013-06-151-1/+1
| | | | | | | | | | | | | | | | nmake needs %-escaping in addition to $-escaping, not instead. this has little practical impact, so it went unnoticed. Change-Id: I144b6142eec0151d83a22e0ac5ead7b0415cdafa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix command over-escaping in vcproj filesOswald Buddenhagen2013-06-151-2/+4
| | | | | | | | | | | | | | | | | | the vs ide executes the commands verbatim, so they must not be make-escaped. Task-number: QTBUG-31289 Change-Id: Ie73fd5c4da5527c2d10bc94ccdf60f8a1ca21351 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * assemble the tool commands at use time, after allOswald Buddenhagen2013-06-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | the precise syntax depends on what exactly the command is used for, so we need to resolve it at the last moment. see followup commits. This logically reverts commits 6f4ff81380862ad0e788151b35d742f548241d5a and 731e6bece5cebe205ca47c1c078c7ac18984ba1c. Change-Id: If285c91d7521069be86d32593b5c2ae2027b3038 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | remove pointless return code checkingOswald Buddenhagen2013-06-171-3/+2
| | | | | | | | | | | | | | | | qtAddModule() always returns true anyway. the real checking is done by qtAddModules() and qtAddLibrary() itself. Change-Id: Ieed821acc36dc57ca52aec3e6b2dd6513be9b6c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make use of QT_MODULES to simplify codeOswald Buddenhagen2013-06-171-3/+2
| | | | | | | | | | Change-Id: I1124088f807023faf678e030cfb1fc4a4c8b40d7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Support setting the library-search environment on a few more OSsThiago Macieira2013-05-311-1/+3
|/ | | | | | | | | | | | | | | Most Unix systems will honor LD_LIBRARY_PATH (all ELF-based systems definitely do), so let's not make it an error if the user isn't compiling on Linux or FreeBSD. The only known exception are Darwin / Mac OS X and AIX. For everything else, cause an error. The list of unames came from: http://en.wikipedia.org/wiki/Uname. AIX does not use ELF, so its variable is called LIBPATH: http://publib.boulder.ibm.com/infocenter/forms/v3r5m0/index.jsp?topic=/com.ibm.form.api.configuring.doc/api_configuring_unix_path.html Change-Id: I67055e6a231aa1430d91431e7cab5f98f0e1bd95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove qtPrepareTool()'s ability to run batch filesOswald Buddenhagen2013-05-131-5/+1
| | | | | | | | | | | it was only meant to automatically support syncqt.bat, which is gone now. fwiw, invoking batch files from within msys Makefiles was broken to start with, as sh cannot directly run them. Change-Id: I435568c578ce79e46f4e230e985ca9a04b34ffff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless extension check from qtPrepareTool()Oswald Buddenhagen2013-05-131-1/+1
| | | | | | | | we never call it with an explicit extension, so this only complicates matters. Change-Id: Ib15180130359bb9575bf5dda564f8b817431618f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make qtPrepareTool recognize perl scripts by extensionOswald Buddenhagen2013-05-131-1/+3
| | | | | | | | this makes it possible to directly execute perl scripts on windows. Change-Id: Ibbb90d46518ea8ac4f695d07141700630b33fab3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix LD_LIBRARY_PATH setup of check targetsOswald Buddenhagen2013-03-151-5/+2
| | | | | | | amends 4c34b418 Change-Id: Id9d214fe936d947aaea4a56fd724ad50381032e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* simplify qtAddModule() by using $$qtPlatformTargetSuffix()Oswald Buddenhagen2013-02-201-6/+1
| | | | | Change-Id: I02b6c1eb2db0c8a36c50b1ec3c79dea215fba03a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless conditionals and expansions from qtLibraryTarget()Oswald Buddenhagen2013-02-201-4/+1
| | | | | | | | this function is called only from library TEMPLATEs, and always with exactly one word as the only argument. Change-Id: I6282e3826791f89e6cf89dde625c8166e4e56028 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add QT_CONFIG's static/shared to CONFIG on startupOswald Buddenhagen2013-02-181-1/+1
| | | | | | | | | ... instead of as a fallback in default_post. it was this way in qt4, and it requires less code to be written in the end. we are already doing it for debug/release as well. Change-Id: I6e02849d61d14a18375cf64a5990768931ebac48 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove useless unset()sOswald Buddenhagen2013-02-131-1/+0
| | | | | | | | there is mightily little point in unsetting variables right before unconditionally assigning to them. Change-Id: I24c1814ce38bf9aab4496679b1a670f3cd55c536 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use install path as fallback when locating toolsOswald Buddenhagen2013-02-111-1/+1
| | | | | | | | | | | | all non-installed tools are properly registered, so they don't need the fallback. conversely, we can assume that non-registered tools are already installed. this enables us to build docs in qtbase after an incremental build+install up to qttools. Change-Id: I95a55f6b84e01885bcf6dd656caf0dd2b679bb73 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix transitive linking for x-buildsOswald Buddenhagen2013-02-051-1/+0
| | | | | | | | | | | | | -rpath does *not* imply -rpath-link when x-building: ld(1): "Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the --with-sysroot option." it doesn't hurt to have the "excess" -rpath-link for native builds, so just remove the cleanup. Change-Id: Ic39c1f4d6c2e3770d43a5ed3e56cf89a146edf85 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>