summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
Commit message (Collapse)AuthorAgeFilesLines
* give the pkg-config wrapper a proper nameOswald Buddenhagen2016-01-211-0/+1
| | | | | | | amends 282f15feaa. Change-Id: I91fa244a9c33495365da4278b99d6312c1af299a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Make pkgConfigExecutable() work when a pkg-config is defined in the specChristian Strømme2016-01-211-1/+4
| | | | | | | | | | | | Commit 6e6f27b6 made it possible to set the PKG_CONFIG variable using CROSS_COMPILE as a prefix. The problem with that solution is that it makes pkgConfigExecutable() skip the environment setup for pkg-config as well, as it expects the pre-set command to be self-contained - which it isn't. To avoid this problem we need to store the pkg-config define in the device spec in a separate variable. Change-Id: Id8ae7fb03d9253be55840e23fe73b30815ee86c3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-191-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/common/atomic64/atomic64.cpp configure src/3rdparty/forkfd/forkfd.c src/corelib/io/forkfd_qt.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tools/configure/configureapp.cpp Change-Id: Ic6168d82e51a0ef1862c3a63bee6722e8f138414
| * qt_functions.prf: Add missing $$evalDmitry Shachnev2016-01-051-1/+1
| | | | | | | | | | Change-Id: I3d60617bdc887447f433c47ac6af3c1e13756c28 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Append the environment's QT_PLUGIN_PATH to 'make check' targetsRomain Pokrzywka2016-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, any test executable requiring a plugin path from the environment's QT_PLUGIN_PATH will fail to run since the path is overwritten when generating the 'make check' command, for example: QT_PLUGIN_PATH=/path/to/qt/plugins \ LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \ ./test_foo A prepend config option is used for *PATH to preserve the envvar value, so use the same option for QT_PLUGIN_PATH. The command above then becomes: QT_PLUGIN_PATH=/path/to/qt/plugins${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH} \ LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \ ./test_foo Change-Id: I69b43327974915eae52f299fc4001effe93a491a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Revert "use bindir instead of libdir when launching tools on windows"Oswald Buddenhagen2016-01-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | proper prefix builds don't have the redundant .dlls in bin (the copy step is simply omitted), so this is broken. the change would have to be done atomically with making DLLDESTDIR sane. This reverts commit 9b2e98245a95bec9179edf648d7b562d2d1cb692. Task-number: QTBUG-50065 Change-Id: I9ce0a2d1147a1a2d4bd2f22e619d5c737864a637 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | add always_prepend mode to qtAddToolEnv()Oswald Buddenhagen2016-01-081-3/+8
| | | | | | | | | | | | | | | | | | this is just an optimization/clarification: variables which are known to be never empty (like PATH) can be extended with less convoluted code. Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | rewrite qtAddToolEnv()Oswald Buddenhagen2016-01-081-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the primary purpose is making env var prepend mode work for unset variables on windows. this is achieved by using a conditional and delayed variable expansion. however, the latter is disabled by default and can be locally enabled only in batch files. therefore, write wrapper scripts and substitute them for the actual commands. we do this also on unix, both for consistency and simply because the commands look much less confusing. this change is slightly backwards-incompatible, as invoking qtAddToolEnv() multiple times on the same command will now make a total mess. also, invoking it on a command that contains 'make' macro expansions isn't a good idea, so testcase.prf needed an adjustment. the function is an undocumented internal, so Nobody Should Care (TM). this also reverts 80ebedecf9, as it's obsolete now. Change-Id: I8394b77868b495abcf27b688996ca74c40b80994 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | use bindir instead of libdir when launching tools on windowsOswald Buddenhagen2015-11-261-8/+10
| | | | | | | | | | | | | | | | longer term, the redundant .dlls from the libdir will hopefully disappear. short term, this is a workaround for CI brokenness. Change-Id: Ia30173355f3aca222d4ca40e7a38c2cf535bbc03 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove redundant "mac" checksOswald Buddenhagen2015-11-191-1/+1
| | | | | | | | | | | | | | | | qt_framework and {app,lib}_bundle imply darwin, so there is no point in testing for it. Change-Id: I9fe48c26c8e271a5575b17e92df8674d3c3a3204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | inline qtAddModules() and dependenciesOswald Buddenhagen2015-09-171-120/+0
| | | | | | | | | | | | | | | | there is no particular reason to have them in qt_functions.prf any more, while the separation made the code harder to follow. Change-Id: Ie44c9784358f382f7bc863b421ff5b440211d66f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | change implementation of deprecated qtAddLibrary() to modify QTOswald Buddenhagen2015-09-171-1/+2
| | | | | | | | | | | | | | | | | | ... instead of invoking qtAddModule() directly. gives better decoupling and unified code paths. Change-Id: I4a456ae3b8027aa65b8a4fba7ee5c171ae89be0c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | inline qtAddRpathLink()Oswald Buddenhagen2015-09-171-17/+0
| | | | | | | | | | | | | | there is no particular reason to have it in qt_functions.prf. Change-Id: I88ed1ea937a9a88a4625a6de7bcd3a29957560da Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | simplify qt rpath codeOswald Buddenhagen2015-09-171-5/+0
|/ | | | | | | | | the rpath applies only to the installed on-device location and is consequently always the same for all modules, so there is no point in indirections. Change-Id: Ia0590552aa317d799a2d3879fd0c0768344b9645 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* 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>