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>
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>
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>
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>
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>
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>
That is the case when the debugger options page was never opened.
Change-Id: If3cb37810ec51d300dca157b2c0c23c6a6e79b49
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
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>
This static function got moved into a base class.
Change-Id: I0b72f324bd52421388c7566dc4fd115a9b27ea7f
Reviewed-by: David Schulz <david.schulz@digia.com>
Functions moved to FileUtils on 4de3b94840
Change-Id: I6e8690e8f0cce1bc7162b24d6c7d87d31a724ad8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
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>
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>
That also makes lldb dumper actually test for bitness instead of
assuming 64bit
Change-Id: I6207bac04817e1f4700247dc00d2dfdace1e5100
Reviewed-by: hjk <hjk121@nokiamail.com>
The GDB case is still wrong, but it the data GDB produces.
Change-Id: I97c656a666b98da2f62b354b5d1c699301d67b23
Reviewed-by: hjk <hjk121@nokiamail.com>
This is now (additionally) on a per-entry level, resulting
in less duplication.
Change-Id: Ia93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
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>
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>