summaryrefslogtreecommitdiff
path: root/src/shared
Commit message (Collapse)AuthorAgeFilesLines
* Support configurable library location in qbs build.Christian Kandeler2014-02-281-0/+0
| | | | | | | | | And also in the qbs sub-project (for the qbs and qmake builds). This becomes possible with the qbs submodule update that is part of this patch. Change-Id: I8347a8c04a52bcb0682f32d808fb61a90ef3ba72 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix location of qbs plugins.Christian Kandeler2014-02-271-0/+0
| | | | | | | | They are not (arch-independent) resources. Task-number: QTCREATORBUG-10074 Change-Id: If257dfc3a8a866003c84331409162699b162eb19 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update qbs submodule.Christian Kandeler2014-02-241-0/+0
| | | | | | | | | | And do the necessary adaptation in the Qbs project manager, namely giving the qbs::Settings object a base directory. The respective change in the qbs API is necessary for being able to run more than one QtC instance at the same time without ill effects. Change-Id: I6859a6616bd744915aa21c3f07b6c45243899de5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update qbs submodule.Christian Kandeler2014-02-181-0/+0
| | | | | | | | And make sure we re-fetch project data after building, as now qbs can find new target artifacts while building. Change-Id: I880689c33893b599686919a90f04281e36c3935e Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Utils: Merge FilterLineEdit into FancyLineEdithjk2014-02-145-18/+21
| | | | | | Change-Id: Ic53836dade3985c36b0f6767e43b5af0ddb80d72 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Clean up single namespace forward-declarationsOrgad Shaneh2014-02-121-3/+1
| | | | | | | | | | | | | | | | | | Done using the following ruby script: Dir.glob('**/*.h').each { |file| if File.file?(file) s = File.read(file) t = s.gsub(/^namespace .+ \{\n\s*class .*;\n\s*\}.*$/) { |m| m.gsub(/\n\s*/, ' ').gsub(/\s*\/\/.*$/, '') } if t != s puts file File.open(file, 'w').write(t) end end } Change-Id: Iffcb966e90eb8e1a625eccd5dd0b94f000ae368e Reviewed-by: hjk <hjk121@nokiamail.com>
* Merge remote-tracking branch 'origin/3.0'Eike Ziller2014-02-111-2/+2
|\ | | | | | | | | | | | | | | | | Conflicts: qtcreator.pri qtcreator.qbs src/shared/qbs Change-Id: Ic6f115e3d9da32327cfe2d02d7356687dc3f60d7
| * fix raw data leak in $$sprintf()Oswald Buddenhagen2014-02-071-1/+1
| | | | | | | | | | | | | | | | it could be only triggered by abusing the function (no expansion actually done), and nobody is using this to start with, but still ... Change-Id: I3d4a23ae4d1eea07955572d8213094e0dc218f6d Reviewed-by: Daniel Teske <daniel.teske@digia.com>
| * micro-optimization: use ProStringList::join(QChar) overloadOswald Buddenhagen2014-02-071-1/+1
| | | | | | | | | | Change-Id: I25c6205df78da7fbee0ad1b04476f528f376b7a6 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
| * Update qbs submodule.Christian Kandeler2014-01-271-0/+0
| | | | | | | | | | | | | | | | To the head of the 1.1 branch. Change-Id: I83af4c448c1f57f505849a6cd6a79c08f5d9b8a0 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Update qbs submodule to HEAD of master branch.Christian Kandeler2014-01-211-0/+0
| | | | | | | | | | | | | | | | | | | | Includes some necessary adaptations to the QbsProjectManager plugin, namely: - Use the new library for setting up Qt profiles. - Use per-profile preferences. Change-Id: I0a639bd291d790c6da9cb4ade53841314310d5ef Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* | Revert unintentional update of qbsEike Ziller2014-01-211-0/+0
| | | | | | | | | | | | | | That sneaked into b1eb376bfbf0e92896664de47a4116bb03d0cb0a Change-Id: I949c2c2c57d80858e55135b6577a2778adc1043c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | More changes-3.1.0Eike Ziller2014-01-211-0/+0
| | | | | | | | | | Change-Id: I9f1af9662df781dc2a89149f7229133f844e5f3b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* | Merge remote-tracking branch 'origin/3.0'Eike Ziller2014-01-202-22/+3
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp Change-Id: If62ec06ea069a7eba6735101e5334b0c1f66861f
| * QmakeParser: Do not leak temporaries into cache of filesTobias Hunger2014-01-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | This prevents an access to free'd memory when opening qtcreator.pro. Looks like qml2puppet.pro gets added to that cache in QMakeVfs::writeFile with part of the including pro-file's filename in it. That part gets cleaned when that containing ProFile goes out of scope, leaving a key in QMakeVfs::m_files free'd but accessible. Change-Id: I80b43d2fbb66c214647497ea97e6e3a587e274d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * do not look for mkspecs/ directories in project treesOswald Buddenhagen2014-01-151-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this pretty surprising behavior would interfere with building the examples from an installed qt tree with qmakes from other qt builds. .qmake.conf (and .qmake.cache) files provide a possibility to explicitly "anchor" project roots, so there is no point in having a second, even more magic way to do it. Task-number: QTBUG-35485 Change-Id: I8fd4fda67cabafdf55e7a98282dcdfaffb4a405e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> (cherry picked from qtbase/65a676372c533e8b35117081ec0aa1a94e1500e5) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | SSH: Act on failing SFTP server.Christian Kandeler2014-01-201-0/+0
|/ | | | | | | | | | | | | | | So far we ignored crashes and unexpected exits of the remote SFTP service under the assumption that the SSH server would catch these itself and act accordingly. This is not the case, however: OpenSSH, for instance, does not even realize if its sftp-server binary is not present at all. As a result, Qt Creator waits indefinitely for an SFTP operation to finish. Now we emit an error and close the offending channel. Task-number: QTCREATORBUG-10339 Change-Id: I132ed4a0098434a4cfce6056b964bd6363951fd7 Reviewed-by: Volker Vogelhuber <wiendl@web.de> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-0858-58/+58
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Update qbs submodule.Christian Kandeler2013-12-031-0/+0
| | | | | | | | | This updates qbs to the HEAD of the 1.1 bugfix branch, which has a number of bug fixes on top of what's in the RC. Change-Id: I95e3c8b45befb639c4a016b32cbe88145baae16f Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update qbs submodule.Christian Kandeler2013-11-251-0/+0
| | | | | Change-Id: I2a9f9084d5f692fd45563b3f626f31a7d7e521cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't turn = into += in cumulative modeOswald Buddenhagen2013-11-181-25/+4
| | | | | | | | | | | | | | it leads to pathological cases where the number of loop iterations may go way beyond the reasonable. this means that users need to avoid using the = operator in alternative branches that lead to different sources/subdirectories being included into the project. this is a bit of a corner case anyway, as people usually add directly to SOURCES/SUBDIRS. Task-number: QTCREATORBUG-1595 Change-Id: I7783e318fbc2790f6a853ba4e3f4a12db881feb5 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* set QMAKE_INTERNAL_INCLUDED_FILES even without PROEVALUATOR_FULLOswald Buddenhagen2013-11-151-4/+0
| | | | | | | | some qt prfs use this variable, so better set it it to avoid some noise. Change-Id: I606c88dd7664b1cd8b490d60badd5c6bf80fd1c9 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* support a cache that is really just a cacheOswald Buddenhagen2013-11-154-27/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unlike .qmake.cache & co., the presence of this file has no magic effects on where mkspecs, modules and other things are searched. as the obvious name "cache" is of course already taken, we call it "stash". the file is searched up to the super cache (if present), otherwise up to the normal cache/conf (if present), otherwise up to the root. if it's not found, it is created next to the super cache (if present), otherwise next to the cache/conf (if present), otherwise in the current output directory. note that the cache really should be created and populated by the top-level project if there are subprojects: otherwise, if there is an "anchor" (super/cache/conf), subprojects would race for updating the cache and make a mess. without an "anchor", each subproject would just create its own cache, kind of defeating its purpose. this is no different from the existing "cache", but it's worth mentioning that removing the "anchoring" function does not remove the "nesting order" constraint. Task-number: QTBUG-31340 Change-Id: I786d40cef40d14582a0dd4a9407863001bec4c98 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/ff31d87cc883dcf17ab459a15eac04e074d9614a) Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* clean superfile and cachefile paths upon creationOswald Buddenhagen2013-11-151-2/+2
| | | | | | | | | | | | otherwise, if the output dir is the root, the path would be denormalized. the code for finding existing files already does that. Change-Id: I56d70477e9c9ffcd936325068624a84df10ffd87 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/72075656cfeac570ce002c517a22b1c5d7bc0dd0) Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* move setting of _QMAKE_{SUPER,CONF,CACHE}_ to a more logical locationOswald Buddenhagen2013-11-151-24/+25
| | | | | | | | | | | | | | | there is no point in setting the variables already when peeking into the caches, as that is done in a separate evaluator anyway. it also makes no sense to have them set while loading the spec itself, as it's not permitted to do anything with the caches. so set them at the next convenient point, which is right before actually loading the caches. Change-Id: I3717ddf94353dc04e12c52e542f16ed27b578e14 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/0f68222e9ebdf42778d4bb84260268764eb55b30) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Update qbs submodule.Christian Kandeler2013-11-061-0/+0
| | | | | | Change-Id: Iee1d7b6db6988e36aec44acb164c891c6b0763d9 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Qt4ProjectManager -> QmakeProjectManager renaming in a commentTobias Hunger2013-10-291-1/+1
| | | | | Change-Id: I311768d2593ebeacdf69b8b2f26753addbf87b37 Reviewed-by: hjk <hjk121@nokiamail.com>
* Update qbs submodule.Christian Kandeler2013-10-291-0/+0
| | | | | Change-Id: Ie0d54a26db031bc8732e8c83156a1102c5852706 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add JSON parsing support to qmake.Morten Johan Sørvig2013-10-291-1/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add qjson* implementation files from corelib/json to the qmake build. Add a read-only compile mode, enabled by defining QT_JSON_READONLY. Add qmake built-in function parseJson(file, into) which parses a json file into the given variable. qmake uses a flat key -> value-list implementation for storing variables, which means that some hackery is need to represent arbitrarily nested JSON. Use a special "_KEYS_" variable for arrays and objects: Arrays: ["item1", "item2"] $${array._KEYS_} -> 0 1 2 $${array.0} -> "item1" $${array.1} -> "item2" Objects: { "key1" : "value1", "key2" : "value2" } $${object._KEYS_} -> key1 key2 $${object.key1} -> value1 $${object.key2} -> value2 Change-Id: I0aa2e4e4ae14fa25be8242bc16d3cffce32504d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com> (cherry picked from qtbase/89ef515177fd5a0b5d95dcffd5fd0b0669e3625a) Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Expose qmake arguments as QMAKE_ARGSTor Arne Vestbø2013-10-292-0/+3
| | | | | | | | | | Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/1cdbe4752bef972db5471e811e9a781749cd0380) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* qmake: Update internal mkspec on changes to QMAKESPECTor Arne Vestbø2013-10-292-1/+9
| | | | | | | | | | | | Allows the macx-xcode mkspec to be a wrapper around other mkspecs. Since QMAKESPEC can now be set in the spec, we have to ensure not to append to QMAKESPEC. Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/a9bad65b091d15b0446fa141e0a69ebb94b38b70) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* qmake: Evaluate extra configs before loading default_preTor Arne Vestbø2013-10-292-6/+19
| | | | | | | | | | | | Exclusive builds uses setExtraConfigs to apply the particular CONFIG of each build pass. Unfortunately we were not applying these extra configs early enough in QMakeEvaluator::visitProFile() for them to be picked up/usable by default_pre, something that can be useful. Change-Id: I423a4688250a15f0c1a2cc65a48f0bbc14ad4497 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/eea1c359c9663cec15e7373c065ee06cba151eed) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* qmake: Load extra variables only if also loading pre-filesTor Arne Vestbø2013-10-291-4/+4
| | | | | | | | | | | | The extra variables only need to be applied once, when we are loading the pro file (and hence are loding pre files), not for every single pri/prf that's loaded as a result of that (which do not load pre files themselves). Change-Id: I3118694a8eeccf2dc32c4f62df754033fad13528 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qtbase/8e7dc25380dceebca094e092d9feb21ad167ba91) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* make setting a bad $$[QMAKEFEATURES] not crash qmakeOswald Buddenhagen2013-10-293-12/+17
| | | | | | | Task-number: QTBUG-29642 Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
* qmake: Expose ARGC to qmake functions to be able to check argument countTor Arne Vestbø2013-10-292-0/+3
| | | | | | | | | | | ARGS already exists, but is a flattened list of the arguments, so both foo(bar, baz) and foo(bar baz) will give count(ARGS, 2), making it unreliable for validating arguments to qmake functions. Change-Id: I0bcc16614c64000169431327da48fd1a26708e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/09205d573413da8a2ac3826198fe36bb2dc4349f) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* qmake: add $$title() function to convert strings to title caseTor Arne Vestbø2013-10-291-2/+10
| | | | | | | Change-Id: Ic535a8f7cc2ab7b7f1948b2d0237ebe9a71c7ec7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/413ec67fc46ad7049f870cdb8ead35149b215d45) Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Rename namespace Qt4ProjectManager to QmakeProjectManagerhjk2013-10-162-2/+2
| | | | | | | First step towards plugin renaming. Change-Id: I8ac017660a7aa2bda0d7bb7d72ab0cfceaf6cfd2 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Update qbs submodule.Christian Kandeler2013-10-151-0/+0
| | | | | Change-Id: Ia22091dfbed91ce10d7ba03dbde1fac5edf4fa90 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update qbs submodule.Christian Kandeler2013-10-091-0/+0
| | | | | Change-Id: Iaf666a75e16834028ff7a830a24423aadfc7d1f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* ProParser: Plug raw data leakDaniel Teske2013-10-021-1/+1
| | | | | | | | | QProcessEnvironment caches keys, so we must not pass it QStrings created with fromRawData() Task-number: QTCREATORBUG-9142 Change-Id: I29fade02f3bc4110fafb1b04d44f2e653951a2ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update qbs submodule.Christian Kandeler2013-09-191-0/+0
| | | | | Change-Id: I17ba07c9ccf884bc1c942581ec32f86058ddd071 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update qbs submodule.Christian Kandeler2013-09-101-0/+0
| | | | | Change-Id: If503a0f684bc1f34835b5274298438d77d77797e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix some include statements.Christian Kandeler2013-09-044-10/+11
| | | | | | | | In several places, it says '#include "..."' for headers from different libraries/plugins. Change-Id: I96cd74fef9b30163adefe3e1720e0847bed9553a Reviewed-by: hjk <hjk121@nokiamail.com>
* Kill ";;" at end of statementNikolai Kosjar2013-09-041-1/+1
| | | | | Change-Id: I177094f19978e07f85e42b34701d8f03cd26665e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Update qbs submodule.Christian Kandeler2013-09-031-0/+0
| | | | | Change-Id: I470df8aa8f8966a37a8be38e8917b48061ede24b Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Update qbs submodule.Christian Kandeler2013-08-271-0/+0
| | | | | | Change-Id: Ic771d9c0c912449554e557bb8cff9f05aa7ba88b Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/2.8'Oswald Buddenhagen2013-08-275-24/+45
|\
| * don't complain about missing include()s during cumulative evaluationOswald Buddenhagen2013-08-261-0/+2
| | | | | | | | | | | | | | | | it produces simply too many false positives. Change-Id: I3dfa109866450babe5c16f84665ad22024d99e42 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/08bae158320f6d73bf44fcf43f45f51a01334544)
| * execute some loops even in cumulative modeOswald Buddenhagen2013-08-261-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we execute foreach loops now. this is (mostly) safe nowadays, because a previous change added precautions against exponential value list growth, so it's unlikely that two nested loops would keep the cpu busy for a day as before. we continue to exclude forever loops and loops with excessive integer counts. Task-number: QTCREATORBUG-6840 Change-Id: Iaa116086986cc7fd5023834753f791dd205102e5 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/dd4d594c787a62fa8aa12695c5d115c71b59bacd) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * don't crash if builddir is suffix of sourcedir (or vice-versa)Oswald Buddenhagen2013-08-261-1/+2
| | | | | | | | | | | | Change-Id: I97a6e2ebd51350cbf39c86efa5c26a376c49da95 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/b30273ec4a4ce65794fd402c6e3eb21de7bae1b9)