summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* add DISTFILES support for Visual Studio projectsJoerg Bornemann2015-03-275-0/+23
| | | | | | | | | | Files in DISTFILES are placed into a "Distribution Files" folder under the project node. Task-number: QTBUG-43162 Change-Id: Ib75aacf1010d9ea63af89d4a9cc92275d714b3cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Xcode: Completely filter out environment variables in build logTor Arne Vestbø2015-03-161-0/+2
| | | | | | | | 17d690952b missed a few instances that should have showEnvVarsInLog = 0. Change-Id: I8f1106426447670b0057aeb421efc09bf117e969 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Remove MSVC created lib file for shared library in distclean targetJoni Poikelin2015-03-121-0/+1
| | | | | | | | | MSVC creates .lib file when ever dll with exports is built. Remove this file too in distclean target. Task-number: QTBUG-44685 Change-Id: I84ecb57626926b5bce06a200ff2b705fd2117686 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* iOS: Use Xcode project to filter out environment variables instead of shellTor Arne Vestbø2015-03-091-0/+4
| | | | | | | | | Xcode has a setting for script phases to filter out the environment variables, so we don't need to use grep. Change-Id: Ica1c64321385ab3e3b47cf6f8f4d4191bd963540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* centralize setup of shell-related variables in spec_post.prfOswald Buddenhagen2015-03-065-49/+0
| | | | | | | | | | | | | | | | | | it makes no sense to let every spec do that separately, as it's fixed by the generator+shell. putting it into a file which is loaded regardless of the spec also allows us to remove the hardcoded fallbacks from qmake. if somebody overrode the values in their spec for some weird reasons, they'll need to override spec_post.prf. shell-{unix,win32}.conf are now dummies and print warnings. Task-number: QTBUG-37269 Change-Id: I66c24fb4072ce4d63fdbfc57618daa2a48fa1d80 Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Xcode: Generate scheme manually, instead of letting Xcode do itTor Arne Vestbø2015-03-061-0/+46
| | | | | | | | | | | A scheme is required to be able to run tests through Xcode, even from the command line, but Xcode doesn't auto-generate the schemes until launched as an application. Xcode also auto-generates schemes for all our targets, but we only need one for the primary application target. Change-Id: Ia42f3825aba3ffde3be93be55e165d6284434853 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* WinRT: Update documentation on icon handlingMaurice Kalinowski2015-03-051-6/+53
| | | | | | | | | ecf6e34efefcedbff0a457ed4b5e0f4e5d096b37 introduced new values to specify icons in the manifest. Change-Id: I8f0cc9790ffd2f50ed2008bc8bab053b3db4965e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* add autotest for qmake parserOswald Buddenhagen2015-02-253-0/+259
| | | | | Change-Id: Ib3dcb6c1aaac20ca6a3bc0dc564e16ec7bd152db Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* catch missing closing braces outside any scope as wellOswald Buddenhagen2015-02-251-1/+1
| | | | | | | | it doesn't make a whole lot of sense, but it's possible to create braced blocks which have no semantic meaning. Change-Id: Id55dfdee1aa3fade507cbd1eb34bdffcd7eb6bff Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't make an even number of bangs almost entirely invisibleOswald Buddenhagen2015-02-252-10/+9
| | | | | | | | otherwise we'd silently accept this nonsensical code: !!defineTest(foo) {} Change-Id: I66b59c8a89852c6451ce8d7269a3dc66a53e3b1f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* be more strict about bogus operatorsOswald Buddenhagen2015-02-252-6/+59
| | | | | | | | we now warn about the pointless ones, and error out in cases that already were semantically bogus. Change-Id: Ifd80014af0fc53e3cc42561c4270d1dca234568f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make some messages less ambiguousOswald Buddenhagen2015-02-251-3/+3
| | | | | Change-Id: I6032fdc1c1e6b1fb852da09e47990de03966fa3c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't write pointless TokAnd at start of control scopesOswald Buddenhagen2015-02-251-2/+8
| | | | | | | | | | a colon after else/for is non-AND-ing, i.e., it's no logical operator, but "punctuation". therefore, putting an operator into the token stream is bogus. it didn't hurt execution, so it went unnoticed, but it still wasted some bytes and cpu cycles. Change-Id: If5578074257feed299bda1630bf0dfe72eb395ae Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* factor out putOperator()Oswald Buddenhagen2015-02-252-7/+10
| | | | | Change-Id: I1b01e36e15dc93fc4e37597b66841d7102fa6b0d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* move parseError() call into bogusTest()Oswald Buddenhagen2015-02-252-23/+15
| | | | | | | they come always in pairs (with one exception). Change-Id: Ia2f69a8776bd7146ff2fb18d13cc6bb5b2c71139 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make all parse errors invalidate the parse resultOswald Buddenhagen2015-02-252-12/+6
| | | | | | | they have been semi-warnings for a long enough time now. Change-Id: I3fffd63f7b44b30d2dc18cdcd74221c10e98399d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* always flush scopes on closing braceOswald Buddenhagen2015-02-251-1/+2
| | | | | | | | | | | | | without that, both the lines cond1 { cond2: VAR = val } and cond1 { cond2: else: cond3 } would yield two bogus errors: first an excess brace, and then a missing one. Change-Id: I8609106c1ad387577deec2077e2ce13507ac4d3f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* don't write pointless TokFuncTerminators into the streamOswald Buddenhagen2015-02-251-1/+3
| | | | | | | | | | | | we are transforming "magic" function calls into other structures. past that point it's wrong to keep the function argument list terminator in the token stream. this went unnoticed, because in this context it was equivalent with the expected value list terminator (which was simply never reached). Change-Id: I3dc6719273ce9d663db867f355eba682ba6ccf2c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-245-33/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * qmake: Replace qt-project.org/doc with doc.qt.ioSergio Ahumada2015-02-161-1/+1
| | | | | | | | | | | | Change-Id: I503e4e4c50a147cc1d81019228593f502132f28a Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * fix vcxproj generation for CONFIG-=flat, part IIJoerg Bornemann2015-02-132-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 8ee2e497 introduced a regression for CONFIG-=flat vcxproj files. Files with custom build steps (e.g. foo.h with Q_OBJECT) were written into top-level filters ("Header Files" instead of "Header Files\my\sub\dir"). The assumption that the parameter filtername always equals VCFilter::name was wrong. Change-Id: Id5178550310d06b73e42f18597a27012ddd89bb7 Task-number: QTBUG-44413 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * save one call of filterByNameJoerg Bornemann2015-02-131-4/+3
| | | | | | | | | | | | | | We already have saved this information in the loop above. Change-Id: Ic0e0a66b01e9ee001932d7d798d848abc746ef95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * fix vcxproj generation for CONFIG-=flatJoerg Bornemann2015-02-131-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4f21eb03 broke the generation of non-flat vcxprojs. XTreeNode passes filter names to outputFileConfigs that have the source subdirectory suffixed (e.g. "Generated Files\subdir"). Function filterByName must be called with the substring before the backslash. Change-Id: Ic259e6316ab0727828773b13e0d8ad0cc7f0808f Task-number: QTBUG-41746 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Revert "fix vcxproj generation for CONFIG-=flat"Joerg Bornemann2015-02-132-18/+19
| | | | | | | | | | | | | | | | This reverts commit e5a8134765cdc69ba916416166f4d416137e2ffc. A much simpler fix for QTBUG-41746 is about to follow. Change-Id: I1eea1785e00b4d7d470108d8dc3272a2af438ef4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * vcxproj: fix handling of files that are excluded from buildJoerg Bornemann2015-02-131-0/+1
| | | | | | | | | | | | | | | | | | OutputFilterData::info was never initialized. This amends 04d3a89e. Change-Id: Iddab1a615d10e226465ae1da5863bc8602ddb37c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Doc: remove reference to the VS integrationJoerg Bornemann2015-02-131-6/+1
| | | | | | | | | | | | | | | | | | The VS integration does not exist anymore and has been replaced by the Qt VS Add-in years ago. Change-Id: I0202b0b2909318ed8869a738ec87b507c4c746af Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
| * fix fallback architecture for MSVCJoerg Bornemann2015-01-291-0/+4
| | | | | | | | | | | | | | | | | | Use x86 for a 32 bit build of qmake and x86_64 for 64 bit. This is needed for shells that do not set VCINSTALLDIR. Change-Id: I0843c1a590161669530b99f45ab59d523e6596c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | remove nonsensical path strippingOswald Buddenhagen2015-02-171-1/+1
| | | | | | | | | | | | | | we strip the path a few lines above already. Change-Id: If7524b8e744d2f1ab2f5a6920097d25671449829 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | untangle handling extra compiler .clean memberOswald Buddenhagen2015-02-171-13/+17
| | | | | | | | | | | | | | | | | | it's easy when it is a simple list of files (or just absent). however, it can also contain expandos, and in this case it's definitely not a good idea to treat it partly (but not really) as a single shell command. Change-Id: I7ef32a56f276b06579fc7094357c5f7612eaf205 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | fix fixPathToTargetOS() nestingOswald Buddenhagen2015-02-171-2/+2
| | | | | | | | | | | | | | first replaceExtraCompilerVariables(..., NoShell), then fix the final result. Change-Id: If8cebeaa59f48d91b33b5a74e6a48a0d2d049643 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove pointless fixPathToTargetOS() callsOswald Buddenhagen2015-02-175-19/+13
| | | | | | | | | | | | | | | | | | | | it makes no sense to call it on paths that are fixified right before or after, as fileFixify() calls it itself. and verifyExtraCompiler() calls normalizePath() on its file argument. Change-Id: I8fb21e129fd29428d1855de73483087842bc1bdd Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | replace incorrect uses of fixPathToLocalOS() (mostly)Oswald Buddenhagen2015-02-1710-67/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in most cases, it actually means normalizePath() (because the file name is used with qt i/o functions afterwards). this affects QMakeLocalFile::local() as well, so many not immediately obvious places are affected as well. there was also one case of fixPathToTargetOS() falling into this category. this is mostly a no-op, as the qt functions are agnostic to the path separator. in some other cases (in particular in the vcproj generator), it actually means fixPathToTargetOS(). this is mostly a no-op as well, as the two functions are equal except on msys anyway. in the <meta file>FileName() functions, the use of a fixPath*() function is bogus in the first place - fileFixify() already does fixPathToTargetOS(), and this is correct when the file name is used verbatim in a make command (which it is). otherwise it's irrelevant. Change-Id: I26712da8f888c704f8b7f42dbe24c941b6ad031d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove pointless path trimmingOswald Buddenhagen2015-02-171-1/+1
| | | | | | | | | | | | | | | | there is no reason why there should be unexpected leading or trailing whitespace in an extra compiler's .depends list. Change-Id: I46be75063180131e135fc6eea0238a482073618a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | fix quoting issues. all of them. (*)Oswald Buddenhagen2015-02-1715-476/+514
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of quoting more or less random variable contents early, consistently quote everything only right before it is needed. this way we can be sure that everything is correctly quoted, but not over-quoted. this removed the need for the insanity that unescapeFilePath() and similar ad-hoc contraptions were. this had the somewhat counter-intuitive effect that it was possible to remove escapeFilePath() calls from PBX::writeSettings() calls - these were actually only unescaping. [ChangeLog][qmake][Important Behavior Changes] A lot of quoting issues have been fixed. As a side effect, qmake has become more sensitive to over-quoted file names in project files. (*) ok, maybe not. close enough. Task-number: fatal: out of memory Change-Id: I8c51cfffb59ccd156b46bd5c56754c480667443a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | fix filename handling in replaceExtraCompilerVariables()Oswald Buddenhagen2015-02-177-68/+89
| | | | | | | | | | | | | | | | | | | | | | fixing and escaping is now a tri-state option: - none (this removes the need to unescape the result right afterwards in some cases) - local shell (for system()) - target shell (for Makefile) Change-Id: I5b78d9b70630fe4484dc964eff5f62793da35764 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Use relative path for QMAKE_BUNDLE_DATAFawzi Mohamed2015-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | Use of FileFixifyAbsolute with non-default in_dir and out_dir is not defined (and produces bogus results). Using FileFixifyRelative when handling QMAKE_BUNDLE_DATA as a relative path is fine. Change-Id: I49902dc9f5b8029d092a4419c0cff5483e419c30 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Updated BSD licensed file headersJani Heikkinen2015-02-1511-33/+33
| | | | | | | | | | Change-Id: I6441ff931dbd33b698d762e6f6784898f3f60fe7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | move some functions into ProStringList for saner OO designOswald Buddenhagen2015-02-125-35/+30
| | | | | | | | | | Change-Id: I60f00f38f459fc9f8eebee9187158e4198fc9546 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-1169-461/+461
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* | Make .la file generation reproducible in qmakeSune Vuorela2015-02-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | qmake seems to be adding current date/time to the .la files for no reason, so let's stop do that. This way, two invocations of qmake actually gives bit for bit similar output of .la files. Change-Id: I93c7c4075cc1e05214849eec8629f41ce01e5914 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | introduce /dev variants of qmake propertiesOswald Buddenhagen2015-02-051-0/+4
| | | | | | | | | | | | | | | | | | these reflect the on-target paths (unlike /raw, which are host paths, just without the -sysroot). this is necessary for anything deployment-related, starting with RPATH. Change-Id: I13d598995d0e4d6cb0dc1fc7938b8631cf3e3a95 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | make quoting in the prl writer more robustOswald Buddenhagen2015-02-053-12/+29
| | | | | | | | | | Change-Id: Idd9f64ac608b7e4ed840d5d9925bf741e03d78ab Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | fix conditional nesting botch-up in RES_FILE constructionOswald Buddenhagen2015-02-051-6/+6
| | | | | | | | | | | | | | | | it makes no sense to test for OBJECTS_DIR emptiness when we are going to use DESTDIR instead. Change-Id: I0f7115fc8a9fe2a996417d5f50bd0165773129fa Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | don't resolve DESTDIR against source dir in RES_FILE constructionOswald Buddenhagen2015-02-051-1/+1
| | | | | | | | | | | | | | that makes no sense at all. and OBJECTS_DIR is not resolved, either. Change-Id: Ie76b9de6bb11ae42945255f2e168943066d2f60d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | don't fail to normalize RES_FILE for no apparent reasonOswald Buddenhagen2015-02-051-1/+1
| | | | | | | | | | Change-Id: I43d2e45a2743cd8d78229b5ae2bd5f63d92d74f8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | make shellQuoteWin() be more sparing with circumflexesOswald Buddenhagen2015-02-041-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | ... as newer versions of nmake (and jom, for compatibility) have botched circumflex processing (they simply don't do it when shortcutting the shell evaluation). as a side effect, the output is also more readable if the string contains quotes. Change-Id: I0506b59ceecb70da258c482f9973156b2803066d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | always use single quotes in shellQuoteUnix()Oswald Buddenhagen2015-02-041-1/+1
| | | | | | | | | | | | | | | | double quotes cause mingw32-make to switch from direct execution to going through the shell, so avoid them. Change-Id: I05b71a050e425a1b327f747fab01755ff528ba0b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | prune pointless INCLUDEPATH fixingOswald Buddenhagen2015-02-041-5/+0
| | | | | | | | | | | | | | | | MakefileGenerator::init() fixifies the variable, so there is no point in the windows generator adjusting path separators as well. Change-Id: I9331631125ee16ce4d64e38153f3c67f2f78b16b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | fix versioned lib lookup with normalized full pathsOswald Buddenhagen2015-02-041-1/+1
| | | | | | | | | | | | | | | | this is admittedly a rather improbable use case, so unlikely to have any real world effect. Change-Id: If98f0de90043525f0555f8ddf98f8b4352e5a0a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove pointless return value from QMakeParser::read()Oswald Buddenhagen2015-02-045-40/+31
| | | | | | | | | | | | | | | | | | | | it always returned true nowadays. an obvious followup effect is that the return value of parsedProBlock() doesn't need to be null-checked any more as well. Change-Id: I782785cab9b721a78a342a010921a73e642ebe7f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>