Commit Graph

32399 Commits

Author SHA1 Message Date
Morten Johan Sørvig
2ee6fbbd74 Add JSON parsing support to qmake.
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>
2013-10-29 12:31:05 +01:00
Christian Stenger
38b530953f Tests: Fix pluginspec test
Change-Id: I3ad00ddeeb0f7e9a538af09ccb736fb478d14456
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-29 12:29:52 +01:00
Christian Stenger
488c4aa0e9 Tests: Fix pluginmanager test
Change-Id: Id28825e437d9549016c66e9df6b4438eb827c10b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-29 12:29:45 +01:00
Tor Arne Vestbø
561ee92ede qmake: Expose qmake arguments as QMAKE_ARGS
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>
2013-10-29 12:26:37 +01:00
Tor Arne Vestbø
612bc8ef85 qmake: Update internal mkspec on changes to QMAKESPEC
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>
2013-10-29 12:26:32 +01:00
Tor Arne Vestbø
e20b41cdf9 qmake: Evaluate extra configs before loading default_pre
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>
2013-10-29 12:26:27 +01:00
Tor Arne Vestbø
aa94bee7fd qmake: Load extra variables only if also loading pre-files
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>
2013-10-29 12:26:20 +01:00
Oswald Buddenhagen
dd2425eb02 make setting a bad $$[QMAKEFEATURES] not crash qmake
Task-number: QTBUG-29642
Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
2013-10-29 12:26:14 +01:00
Tor Arne Vestbø
4d75cb93a3 qmake: Expose ARGC to qmake functions to be able to check argument count
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>
2013-10-29 12:26:03 +01:00
Tor Arne Vestbø
e7778e67a8 qmake: add $$title() function to convert strings to title case
Change-Id: Ic535a8f7cc2ab7b7f1948b2d0237ebe9a71c7ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/413ec67fc46ad7049f870cdb8ead35149b215d45)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:25:54 +01:00
Eike Ziller
bc16e88288 dumpers: share the code for extractTemplateArgument
Change-Id: Ic1b03d2dffdfb7ba6ead191601127b54af38b3cd
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-29 12:25:26 +01:00
Tobias Hunger
4afa596a3d GccToolchain: Whitespace fix
Change-Id: I8121267044b533a882dc9cc15209baa13e37ba6c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 12:14:20 +01:00
Tobias Hunger
4fa0b2cd06 Debugger: Do not warn when nothing is selected
That is the case when the debugger options page was never opened.

Change-Id: If3cb37810ec51d300dca157b2c0c23c6a6e79b49
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 12:13:35 +01:00
David Schulz
54d2f1bb39 Debugger: Add parsing of cdb -version output to debugger reinitialize.
Task-number: QTCREATORBUG-10511

Change-Id: I0c2fde3aedb31a60bc553b490a97841af1746a14
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-29 10:56:19 +01:00
hjk
f7374438e5 Valgrind: Reduce valgrind_fake dependencies
Change-Id: Iefae4a8e16c9a5858bbbfba5d4893318156485a2
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-10-29 10:50:28 +01:00
El Mehdi Fekari
78d69eb0e5 Qnx: Add new QccToolChain class for qcc compilers
Qcc compiler doesn't support "dumpmachine" option provided by the gcc
to get a list of supported abis from the compiler,
and needs to pass -Wp option when running qcc to get
predefined macros and header paths.

GccToolChain fails to get those information from qcc and print
warning messages on the console.

This patch adds new QccToolChain class and reinterprets
the compiler options to detect predefined macros and header paths.
It also provids list of supported abis
and suggested mkspecs.

Task-number: QTCREATORBUG-10116

Change-Id: Ic48d5c58c5b957f5a8536248888c9a63ca499f34
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 10:21:27 +01:00
El Mehdi Fekari
041421ea40 Qnx: Update information about the Qnx plugin
Change-Id: I253117e3773f0c5e9078ac4ad59125c2b50a611d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2013-10-29 09:42:46 +01:00
Nikolai Kosjar
e7ca4f8b89 CppTools: Remove unused isInjectedFile() in cpppreprocessor.cpp
This static function got moved into a base class.

Change-Id: I0b72f324bd52421388c7566dc4fd115a9b27ea7f
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-29 09:19:33 +01:00
David Schulz
f0ac7f3c17 Fix compilation on windows.
Change-Id: I0738581babd73512501cea7f24cba573d45efbae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-10-29 09:09:53 +01:00
Orgad Shaneh
e498a0185d WinUtils: Remove purged functions from header
Functions moved to FileUtils on 4de3b94840

Change-Id: I6e8690e8f0cce1bc7162b24d6c7d87d31a724ad8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-29 08:35:45 +01:00
David Schulz
b926435576 CppEditor: Remove unneeded member.
Change-Id: Icc2b2705a587482ac2a4215d05a012c4c15f6439
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-29 07:11:57 +01:00
Orgad Shaneh
ba4473aa45 Git: Disallow whitespace in topic on Push to Gerrit dialog
Change-Id: I02416c8a55fcdfdea1cbe349f7e78204c0200fd9
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
2013-10-28 22:29:29 +01:00
hjk
3fbbf1c963 Valgrind: Fix wrong connect in auto test
Change-Id: I588cb765fbe09e516b64af962ff5d86efc69f4fb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 18:34:45 +01:00
Orgad Shaneh
ee4ed219b0 Debugger: Remove gdbProc() accessor
Use member directly

Change-Id: Id7b67458d40e4f5ae4893101afac423d14dfdba7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 18:31:50 +01:00
hjk
eaf99819ea DebuggerDialogs: Remember debugger path history
Change-Id: I02e6b7ff5e2280cabb0f23de942941756f7bf3a0
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-28 18:23:56 +01:00
hjk
e5dc99da32 PathChooser: Grant direct access to lineEdit's history key
Change-Id: I889b5cd0dbc27144253a9c82567eee59554725a3
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-28 18:21:53 +01:00
Tobias Hunger
fd8f2c6cdb Debugger: Make cancel work in DebuggerOptionsPage
Change-Id: I09735507703e9a2c55aff68a25a4405cf12c9ab4
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 18:07:46 +01:00
Tobias Hunger
b17e8e3061 Debugger: Rewrite logic to use signals on DebuggerItemManager
Change-Id: I82e1cd3cca9cc2d79366e1af054640dadebf7871
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 17:55:27 +01:00
Tobias Hunger
5e1e8eaae0 Debugger: Add signals to DebuggerItemManager
Change-Id: Icbd14a683d1a5ec53aa2d2337d43a86c26bccac9
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 17:52:01 +01:00
Tobias Hunger
ab8999832a Debugger: Move classes into their own files
Change-Id: I89853ffb4192b0da1f34d471e250d4ec32daa3da
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 17:50:49 +01:00
Fawzi Mohamed
3a24b2d332 utils/function: expose also ref and cref
ref and cref are also in tr1, and in functional, and are useful when
when using functors allocated on the stack that should not be copied.

Change-Id: I7e14560d88eaa9306e47c4bd71d011f406d1054a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 17:30:19 +01:00
hluk
7af8af0136 FakeVim: Use current text cursor to find out line geometry
Change-Id: If4581d2f38db8311138b871b67fdbe164dde1688
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 17:06:21 +01:00
Eike Ziller
7ba935c44b debugger: Fix QDir dumper for Qt4 64bit
Also make the structure more self-explained

Change-Id: Ia5080f4e07e2a8b7c6b18e1353a4cf1cf3488361
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 16:41:10 +01:00
Eike Ziller
48007785b0 debugger: Fix Qt4 QFile dumper
Change-Id: Ifd2caaef4d0c286f2855175acb2dc1b835213c37
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 16:40:50 +01:00
Christian Stenger
c726f3c47e Dumpers: Fix standard types (C++11) for old gcc
Change-Id: Ic208a45f6d0c7419d83dccd78b552c734421c953
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 16:37:10 +01:00
Fawzi Mohamed
8ab88c8d35 ios: actually open help when detecting non setup device
Change-Id: I72d8c853c01a62d4e62ab0db382e9144f6f03fd6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-28 15:10:02 +01:00
Eike Ziller
a3c4fe1ff2 dumpers: Fix QHash<int,...> dumper for Qt4
In Qt4 (u)int hashs are optimized and the key is inside an
anonymous union, so, at least with LLDB, we cannot reference
"key" directly as a child of the QHashNode

Change-Id: Id7cac3d08fa85af599f2b2564a6b1f11b465c7b2
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 12:50:55 +01:00
Christian Stenger
1ca3da6117 Dumpers: Fix dumper for QVariant holding QList for old GDB
Change-Id: Id34806f06546ad9a6618f9b9431143465a988c1d
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 12:50:32 +01:00
hjk
bcfec55942 Debugger: Add LLDB version for some GDB specific tests
Change-Id: I9a3547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 12:28:46 +01:00
Eike Ziller
c6faedf1c7 debugger: generalize is32bit() through ptrSize()
That also makes lldb dumper actually test for bitness instead of
assuming 64bit

Change-Id: I6207bac04817e1f4700247dc00d2dfdace1e5100
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 11:27:47 +01:00
Robert Loehning
bccc352bd7 Squish: Update tst_git_clone
Change-Id: I96eb7e951a98ecd1108d99ce08276dc7422027f5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-10-28 10:46:32 +01:00
Frantisek Vacek
4b8a1bc7e0 'make deployqt' fixed when non system Qt are used for QTC build
Change-Id: I2904abcc540b4c9058bd8ba51b281e09b8b208e7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-27 09:50:54 +01:00
hjk
3d69918835 Debugger: Remove some GdbOnly test case markers
The tests pass now uniformly.

Change-Id: I45c656a666b98da2f62b354b5d1c699301d67b23
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 16:31:22 +02:00
hjk
76879bea28 Debugger: Merge RValueReference{Gdb,Lldb} auto tests
The GDB case is still wrong, but it the data GDB produces.

Change-Id: I97c656a666b98da2f62b354b5d1c699301d67b23
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 16:22:54 +02:00
hjk
26165d348d Debugger: Allow more fine-grained debugger specific tests
This is now (additionally) on a per-entry level, resulting
in less duplication.

Change-Id: Ia93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 16:12:57 +02:00
hjk
0190eb59f9 Debugger: Show shadowed variables with LLDB
Change-Id: If93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 16:12:03 +02:00
El Mehdi Fekari
7079a835a0 Debugger: Add new debuggers from option page
The asserts should be moved from the addDebugger() method
which is called to add an 'empty' debugger when adding new one
from the option page.

Change-Id: Ic402db514d1e97f5fdc12d9bb9070bf29b2ab354
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 15:51:04 +02:00
Daniel Teske
c033fc3a34 TaskView: Fix scrolling
Broken by qtbase commit 934f06220391eb0e0ebf66a2eb037f48adb4c43c

Change-Id: Iafbeab63cca8b6f328276eaf0a4d27a749b30087
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-25 14:51:29 +02:00
jkobus
deeeda162d Remove unneeded space
Change-Id: I7e7335bd8b3ef2816abe07a3c5dc6cf2b86afc3b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-10-25 14:23:34 +02:00
Tobias Hunger
c2705f1595 DebuggerItem: Make sure DebuggerItems have an Id
The default constructor now sets an id on debuggerItem. fromMap was
removed and a new constructor (taking a const QVariantMap &) was
added in place of that.

There are no more friends on the DebuggerItem class since those were
only necessary to make sure the item has an Id when it gets added.

Change-Id: Ia1a6c9ffea67a8e0a1e5685ef93f67df8686d4c9
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-25 14:12:56 +02:00