summaryrefslogtreecommitdiffstats
path: root/qmake/qmake.pri
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2013-09-05 07:55:49 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-17 08:07:25 +0200
commit89ef515177fd5a0b5d95dcffd5fd0b0669e3625a (patch)
tree0fb87c82c882168141c1194dabbc47915f10eb98 /qmake/qmake.pri
parentf47958fa148d6ea9ece0bec3ca9ba67d9c68ea19 (diff)
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>
Diffstat (limited to 'qmake/qmake.pri')
-rw-r--r--qmake/qmake.pri17
1 files changed, 15 insertions, 2 deletions
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 39959efe7b..5012bd0206 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -83,7 +83,13 @@ bootstrap { #Qt code
qvsnprintf.cpp \
qxmlstream.cpp \
qxmlutils.cpp \
- qlogging.cpp
+ qlogging.cpp \
+ qjson.cpp \
+ qjsondocument.cpp \
+ qjsonparser.cpp \
+ qjsonarray.cpp \
+ qjsonobject.cpp \
+ qjsonvalue.cpp
HEADERS+= \
qbitarray.h \
@@ -126,7 +132,14 @@ bootstrap { #Qt code
quuid.h \
qvector.h \
qxmlstream.h \
- qxmlutils.h
+ qxmlutils.h \
+ qjson.h \
+ qjsondocument.h \
+ qjsonparser.h \
+ qjsonwriter.h \
+ qjsonarray.h \
+ qjsonobject.h \
+ qjsonvalue.h
unix {
SOURCES += qfilesystemengine_unix.cpp qfilesystemiterator_unix.cpp qfsfileengine_unix.cpp