summaryrefslogtreecommitdiffstats
path: root/qmake/generators
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-242-26/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * 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>
* | 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-1714-473/+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>
* | Update copyright headersJani Heikkinen2015-02-1131-217/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | make quoting in the prl writer more robustOswald Buddenhagen2015-02-051-10/+25
| | | | | | | | | | 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>
* | 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>
* | don't re-implement QDir::mkpath()Oswald Buddenhagen2015-02-041-35/+1
| | | | | | | | | | Change-Id: Ic5cd5d3048c19047f22641698acbf678301d366e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | rename fileVarGlue() => fixFileVarGlue()Oswald Buddenhagen2015-02-042-4/+4
| | | | | | | | | | | | | | ... because it also fixes the path, and we'll need the "plain" name later. Change-Id: I86da8f53e44a68005c413c4b78b1b1682746e22e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | xcode: remove special treatment of YACCSOURCES and LEXSOURCESOswald Buddenhagen2015-02-041-23/+2
| | | | | | | | | | | | | | | | | | | | we (supposedly) fully support QMAKE_EXTRA_COMPILERS, so there is no need for any special casing here. Change-Id: I4e9d389320a3e5ad0acbf73823ff1e6f7b9c370f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | inline initOld()Oswald Buddenhagen2015-02-022-40/+35
| | | | | | | | | | | | | | the separation serves no purpose except confusing. Change-Id: I6a0d04b2162a4eee7a200345e94baa272120ea5b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | inline outputVariables()Oswald Buddenhagen2015-02-022-13/+7
| | | | | | | | | | | | | | it's debugging code which is used only once (if even uncommented). Change-Id: Ie57347017dd24f4acecff2a7132f82898dea3122 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | prune dead fixFilename() functionOswald Buddenhagen2015-02-022-17/+0
| | | | | | | | | | Change-Id: I84bafecccec286094701874b2780b45d08797524 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | prune dead fixifySpecdir() functionOswald Buddenhagen2015-02-022-8/+0
| | | | | | | | | | Change-Id: I3bc7f8de86213b1e1d99bdb2749589dbe3851eee Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | prune pointless assignments of QString::replace() and remove() resultsOswald Buddenhagen2015-02-026-31/+27
| | | | | | | | | | | | | | they operate in-place. Change-Id: Iab6f2f6a9f6f67b9d70feb77ec719e424909022d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | optimize filePrefixRoot()Oswald Buddenhagen2015-02-021-4/+6
| | | | | | | | | | | | | | more efficient use of string functions. Change-Id: I3d95d6379eaab025b18449b706f93631a2132aad Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove dead variablesOswald Buddenhagen2015-02-023-6/+1
| | | | | | | | | | Change-Id: I6c48a2e64027c432a87767782669c30a8876b0d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove pointless fixForOutput() callOswald Buddenhagen2015-02-021-1/+0
| | | | | | | | | | | | | | | | | | | | the path is processed, and afterwards fixForOutput()ed again. the first call makes no sense (even if it registered some variables that are gone in the second call, that would be pointless exactly because they are gone). Change-Id: I251f1e4858bec36f3a7a9427c2ba78031b35a2d3 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove bogus path fixingOswald Buddenhagen2015-02-022-6/+6
| | | | | | | | | | | | | | commands come already fully expanded and quoted from the project. Change-Id: I239d5c305f5f65d32c832bc09bfd1c322051e149 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | prune vestiges of IMAGES and QMAKE_IMAGE_COLLECTIONOswald Buddenhagen2015-02-026-19/+2
| | | | | | | | | | | | | | | | this stuff apparently pre-dates rcc. Change-Id: Iaa58419476c3d20e2801e91dc1881880c741fdc6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove QMAKE_FAILED_REQUIREMENTS optimization from unix generatorOswald Buddenhagen2015-02-021-3/+0
| | | | | | | | | | | | | | | | no other generator does it. if it actually buys anything, it should be re-instantiated differently. Change-Id: I8431702ac7d558d65fd28a7f9e36bb49db2eb253 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | make fallback handling for QMAKE_BUNDLE_EXTENSION saneOswald Buddenhagen2015-02-021-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | the logic was such that if the bundle name already had the specified extension which was not the default extension, the default extension would be appended, too. i don't think that was the intention ... now we simply put the default into QMAKE_BUNDLE_EXTENSION if its empty - the variable is not used anywhere else where it would be expected to preserve its emptiness, so this is safe. Change-Id: Ied34d10f9fe60756bddc0037dcb2f1d3bbfd3e12 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | values(foo).first() => first(foo)Oswald Buddenhagen2015-02-025-35/+31
| | | | | | | | | | Change-Id: Ic5bb8ae3166c76299881970f83d20206bec704bc Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove weird qt_dll hackOswald Buddenhagen2015-02-021-4/+0
| | | | | | | | | | | | | | there is no reference to it anywhere. Change-Id: I72403be6c8294d9b2e64075ebd428eba24d97097 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | don't verify compilers twiceOswald Buddenhagen2015-02-021-2/+1
| | | | | | | | | | Change-Id: Iad214f8a14c29b633752935e31125a6f4b512f4b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | remove pointless double initialization guardsOswald Buddenhagen2015-02-0213-36/+7
| | | | | | | | | | | | | | this isn't some fuzzy logic, the call sequence is well determined. Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | nuke gbuild generatorOswald Buddenhagen2015-02-023-498/+0
| | | | | | | | | | | | | | | | | | it never left the rudimentary stage. should it ever be re-added, it needs to be done basically from scratch anyway. Change-Id: I76858c8a2c90235f228f7a6e5a178a10a2669d37 Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | avoid direct use of QLibraryInfo as much as possibleOswald Buddenhagen2015-02-023-6/+4
| | | | | | | | | | Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | turn off nmake inference rule generation on detected conflictsJoerg Bornemann2015-01-282-6/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are source files with the same file name in different directories of the project, then nmake's inference rules might pick up the wrong source file. Note that this even happens when only one of those files is in SOURCES. The existence of conflicting file names is enough to cause hard-to-find build failures. The usual work-around for this situation is CONFIG+=no_batch. This is now done automatically when a conflict situation is detected and a warning message is printed. Task-number: QTBUG-13496 Change-Id: Icd81027407d3d489dbc50231e5ed8bcb91f8d2bc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>