qt5base-lts/tests/auto/tools/qmake/testdata
Morten Johan Sørvig 89ef515177 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>
2013-10-17 08:07:25 +02:00
..
bundle-spaces remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
comments remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
duplicateLibraryEntries remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
export_across_file_boundaries remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
findDeps remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
findMocs remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
func_export remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
func_variables remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
functions make split_value_list() even less sane again 2013-07-03 21:38:37 +02:00
include_dir remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
include_dir_build Moved autotests in category 'tools' into new directory structure 2011-09-12 10:08:29 +02:00
include_function remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
include_pwd Fix semantics of the src dir in the include search paths with MinGW 2012-09-10 14:09:45 +02:00
install_depends remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
json Add JSON parsing support to qmake. 2013-10-17 08:07:25 +02:00
one_space remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
operators remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
pro_file_cache Fix qmake's pro file cache to interact correctly with write_file 2012-10-25 16:22:00 +02:00
project Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
prompt remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
quotedfilenames remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
shadow_files remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
shadow_files_build Moved autotests in category 'tools' into new directory structure 2011-09-12 10:08:29 +02:00
simple_app remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
simple_app_build Moved autotests in category 'tools' into new directory structure 2011-09-12 10:08:29 +02:00
simple_dll remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
simple_lib remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
subdir_via_pro_file_extra_target remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
subdirs remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
substitutes remove nonsense DEFINES 2013-07-03 21:38:37 +02:00
substitutes_build Moved autotests in category 'tools' into new directory structure 2011-09-12 10:08:29 +02:00
variables remove nonsense DEFINES 2013-07-03 21:38:37 +02:00