KDevelop can't load project: "too large document"?
mwoehlke.floss at gmail.com
Mon Dec 11 16:51:34 GMT 2017
On 2017-12-09 09:57, René J.V. Bertin wrote:
> FWIW, importing QtWebKit 5.212 Alpha2 via cmake 3.9.3:
> compile_commands.json : 51Mb
> largest cmake server JSON reply: 0.52Mb (calculated as QByteArray data.size/1024/1024.0)
> With cmake 3.10 the JSON replies do increase but the largest is still only 0.61Mb.
This is... curious...
In KDevelop, I am getting back a code model (for KWIVER) that is
108572484 bytes (about 103 MiB). However, if I write out the same
commands to a text file and feed it to CMake via an input file, I am
getting back a total session of only 198885 bytes (less than 200 KiB,
about 67 KiB of which is progress reporting from configuring and
generating the project).
Using CMake master, KDevelop gets a code model (again, for KWIVER) of
3677870 bytes (about 3.5 MiB, which is consistent with what I got
stripping the backtraces from the 103 MiB response). Again, however,
feeding the same commands to CMake server via a text input file, I get
This is most puzzling. At any rate, what I'm getting for KWIVER remains
almost an order of magnitude larger than the numbers you are reporting
One possible — I would even venture to say "likely" — explanation is
that QtWebKit has very few targets; `ninja -t targets` reports only 243
items (which is not likely to exactly correspond to what CMake considers
targets, but is probably of similar order of magnitude). In this
respect, it is actually a quite *small* project. By comparison, KWIVER
reports 2750, and KDevelop reports 1592. (Note: I did disable audio and
video because it couldn't find GStreamer dependencies and it was not
immediately obvious what needed to be installed.)
I would therefore be curious what numbers you are getting from KDevelop.
As another interesting data point: my QtWebKit compile_commands.json is
35 MiB (so, on order with yours), while for KWIVER it is only 820 KiB,
and for KDevelop, 4.6 MiB. So the size of compile_commands.json does not
appear to have any particular bearing on the size of the JSON code
model. (This is probably because the size of compile_commands.json
chiefly reflects the number of *source* files in a project, while the
size of the code model chiefly reflects the number of *targets*. KWIVER
has many targets — mainly, the unit tests — that have only a single
source file, and a good chunk of the libraries have only a handful of
More information about the KDevelop